Django:添加一个可以发布交替值的ManyToMany字段

时间:2014-02-04 18:26:05

标签: python django django-models django-orm

我正在尝试创建一个模型,其中可以将未指定数量的特征添加到模型字段中,每个特征具有分配给用户定义的值的特征

我的尝试:

class Characteristic(models.Model):
    name = models.CharField(max_length = 50)
    value = models.FloatField()

class Object(models.Model):
    name = models.CharField(max_length = 50)
    chars_added = models.ManyToManyField(Characteristic, null=True, blank=True)

这允许我添加任意数量的特征,但它不允许我分配一个对于创建的 Object 类唯一的数字。我意识到创建一个单独的Model类可能不是最好的方法,但它与我需要创建的一样接近。

找到答案: https://docs.djangoproject.com/en/1.6/topics/db/models/#intermediary-manytomany

class Characteristic(models.Model):
    name = models.CharField(max_length = 50)

class Object(models.Model):
    name = models.CharField(max_length = 50)
    chars_added = models.ManyToManyField(Characteristic,through= 'Value')

class Value(models.Model):
    characteristic = models.ForeignKey(Characteristic)
    object = models.ForeignKey(Object)
    value = models.FloatField()

我相信我很清楚,但请随时提出任何问题,以澄清问题。

1 个答案:

答案 0 :(得分:0)