Доступ к модели Django
есть две модели (пример):
class Posts(model.Model):
pass
class Statistics(model.Model):
post = model.ForeignKey(Post)
count = model.IntegerField()
Есть ли такая возможность достать на пример с модели Posts значение из Statistics.count?
Ответы (1 шт):
Автор решения: nomnoms12
→ Ссылка
К одному экземпляру модели Posts может быть привязано несколько экземпляров модели Statistics, поэтому непонятно, из какой именно нужно брать информацию.
Если Вы хотите, чтобы у одной записи была только одна статистика, то используйте OneToOneField, вместо ForeignKey.
Пример:
class Post(model.Model): # Posts -> Post
pass
class Statistics(model.Model):
post = model.OneToOneField(Post, on_delete=models.CASCADE)
count = model.IntegerField()
Получить count можно так:
post.statistics.count
Если же оставить текущие модели, то получить count из первого привязанного экземпляра Statistics можно так:
post.statistics_set.first().count
P.S.: Лучше называть модели в единственном числе.