Django 1.4.5。场关系

时间:2014-12-10 19:01:13

标签: python-2.7 django-models django-1.4

我是django框架的新手。 我有2个型号:

class A(models.Model):
    name = models.CharField(...)
    position = models.PositiveSmallIntegerField(...)
    ...

class B(models.Model):
    myfield = ?
    ...

我想与“位置”字段和“myfield”建立关系(从位置到myfield的复制值,只有这个字段)。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

你必须在类之间创建关系,你可以通过将其他类的models.OneToOneField或models.ForeignKey字段添加到两个类之一并从一个到另一个访问,反之亦然,然后实现myField来实现此操作。物业形式:

class A(models.Model):
    name = models.CharField(...)
    position = models.PositiveSmallIntegerField(...)
    ...

class B(models.Model):
    a_obj = models.ForeignKey(A, verbose_name="A instance that related to B instance")

    @property
    def myfield(self):
        return self.a_obj.position
    ...