Джанго 1.4.5 . Полевое отношение
Я новичок в Django Framework. У меня 2 модели:
class A(models.Model):
name = models.CharField(...)
position = models.PositiveSmallIntegerField(...)
...
class B(models.Model):
myfield = ?
...
Я хочу установить связь с полем "position" и "myfield"(скопировать значение из позиции в myfield, только с этими полями).
Как я могу это сделать?
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
...