我有这样的关系
Class Item(models.Model):
pass
Class Category(models.Model):
items = models.ManyToManyField(Item)
我可以将类别的字段名称定义为items
,并通过category.items
访问它,但我也想将项目的字段名称定义为item.categories
,而不是默认的item.category
我该如何实现它?
更新
已尝试items = models.ManyToManyField(Item, related_name = "categories")
但我得到TypeError: Direct assignment to the reverse side of a many-to-many set is prohibited. Use categories.set() instead.
在Item.object.create(**data)
上
1条答案
按热度按时间6yt4nkrj1#
看,ManyToManyField不能与相关模型建立反向关系,因为python是解释语言,所以它不能读取前一个模型的模型类。相反,你可以做一件事...
之后,您可以在www.example.com文件中列出您的要求views.py。
使用categories.html文件中的类别迭代项目。
我希望这个解决方案能帮助你..
谢谢您!