【发布时间】:2013-08-17 06:09:28
【问题描述】:
在这方面有一些接近的,但我能找到的只是我正在做的事情,但它不起作用。
这是一个示例:您的产品可以有多个选项。每个选项可以有多个选择。
class Option_Choices(models.Model):
"""
choices for each option
"""
name = models.CharField(max_length=30)
def __unicode__(self):
return self.name
class Product_Options(models.Model):
"""
products can have many options
"""
name = models.CharField(max_length=30)
option_type = models.IntegerField(choices=OPTION_TYPE)
choices = models.ManyToManyField(Option_Choices, related_name='product_options_choices')
def __unicode__(self):
return self.name
class Product(models.Model):
"""
there are options for products - different sizes / colors
"""
name = models.CharField(max_length=30)
options = models.ManyToManyField(Product_Options, related_name='product_options')
def __unicode__(self):
return self.name
看起来很简单,我得到了这个错误
'options'是通过模型手动定义的m2m关系 Product_Options,它没有 Product_Options 的外键 和产品
我尝试了很多不同的方法,包括使用“通过”无法弄清楚为什么这不起作用。这是每个人都说要做的。有什么想法吗?
【问题讨论】:
标签: django python-3.x m2m