【问题标题】:Django 1.4.5 . Field relationDjango 1.4.5 。场关系
【发布时间】:2014-12-10 19:01:13
【问题描述】:
我是 django 框架的新手。
我有 2 个模型:
class A(models.Model):
name = models.CharField(...)
position = models.PositiveSmallIntegerField(...)
...
class B(models.Model):
myfield = ?
...
我想与“位置”字段和“我的字段”建立关系(将值从位置复制到我的字段,仅使用此字段)。
我该怎么做?
【问题讨论】:
标签:
python-2.7
django-models
django-1.4
【解决方案1】:
您必须在类之间创建关系,您可以通过将其他类的 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
...