ted*_*ted 5 django many-to-many django-models
在models.py中:
from django.db import models
from django.utils.translation import ugettext as _
# Create your models here.
class Category(models.Model):
name = models.CharField(_(u"Name"), max_length=250)
products = models.ManyToManyField("Product", verbose_name=_(u"Products"), \
blank=True, null=True, related_name="+")
class Product(models.Model):
name = models.CharField(_(u"Name"), max_length=250)
category = models.ManyToManyField("Category", verbose_name=_(u"Category"), \
blank=True, null=True, related_name="+")
Run Code Online (Sandbox Code Playgroud)
在管理页面中:

问题:
如何设置models.py中的m2products和categorym2 之间的关系,以便在admin-page中,如图所示,(产品)被标记为属于(类别).
欢迎任何有关[产品,类别]实施的建议,谢谢.
PS
我是Django的新手.对不起我的英语不好.b2a2
问题是你有两个 ManyToMany字段.正如您所指出的那样,当关系设置在其中一个中时,它就不在另一个中.
解决方案很简单:删除其中一个字段.您只需要在关系的一侧使用ManyToManyField.Django让您自动访问另一方.因此,如果您将该categories字段保留在 Product模型上,则可以my_product.categories.all()获取与产品相关联的类别; 并my_category.product_set.all()获得属于某一类别的产品.
你还需要删除related_name="+"属性:你可能会把它放进去,因为你遇到了冲突,这应该是一个线索.