如何在对象之间建立正确的关系 Django



>我有两个模型:类别和项目。项目可以有 2 个或更多类别,所以我需要与我创建的项目建立类别关系(可能是一对多(。但是,我还需要获取与一个或多个类别相关的项目,可能是这样的: http://example.com/api/items?category_id=5

谁能建议我如何实现这一目标?谢谢。

我相信

,您在项目和类别之间有很多关系,因为

class Category:
    .....
class Item:
    category = ManytoMany relation to Category

在这种情况下,您可以提取与类别相关的项目,如下所示:

假设您有类别对象作为c1

 c1.item_set.all()

这里c1 = Category.objects.get(id=5)

因为一个项目可能位于多个类别中,而且一个类别在CategoryItem之间可能有多个项目,所以模型必须是Many-to-Many关系,您可以按如下方式定义:

class Category(models.Model):
    name = models.CharField(max_length=30)
    .....

class item(models.Model):
    ....
    categories = modles.ManyToManyField(Category)

在文档中,您可以看到可以使用 Python API 工具执行的操作的更多详细信息。

我建议的最佳做法是在项目表中添加类别表的多对多关系。

例如:

class Category(models.Model):
    # Write here your fields name
class Item(models.Model):
    categories = models.ManyToManyField(Category)

相关内容

  • 没有找到相关文章

最新更新