Джанго 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
    ...
Другие вопросы по тегам