Я действительно очень смущен тем, как django обрабатывает отношения с базой данных.Django one-to many
Первоначально у меня была модель статьи, содержащая простой IntegerField для article_views, в последнее время я пытаюсь расширить определение article_view, чтобы содержать его собственные поля, поэтому я создал для него модель. (IP, SESSION KEY и т. Д.)
Я немного потерял отношение к тому, как сделать отношения, для меня имеет смысл иметь поле «один-ко-многим» внутри модели статьи, потому что статья может иметь много разных представлений, но представление может быть только частью одной статьи.
все реализации, которые я вижу, имеют эту настройку в действительно странном обратном порядке, что дает?
Можете ли вы показать нам свой код модели? Я думаю, что вы хотите создать отношение как поле foreignkey к «Article» в модели «ArticleView». Это создаст отношение «один ко многим» к статье. Вам не нужно определять поле или атрибут в самой модели статьи. –
То, что я сделал, просто казалось странным и противоречивым, что поле, определяющее количество просмотров моей статьи, на самом деле не внутри моей статьи, подумал, может быть, я чего-то не хватает, но я думаю, что нет. До тех пор, пока мои статьи не были объектами IntegerField внутри модели статьи, я мог легко показать представления в шаблоне, отсортировать по количеству просмотров в панели администратора и т. Д. Теперь я не совсем уверен, как все это. – davegri
Вы можете создать свойство в статье, которое называется 'article_views', и вычисляет это число по требованию. Если вы разместите свой код модели, кто-то, вероятно, покажет вам, как это сделать. При доступе к этому свойству в шаблонах не имеет значения, является ли это модулем или методом. Но вы можете использовать некоторые трюки, чтобы избежать медленных и ненужных запросов к базе данных, если вам нужно очень часто обращаться к 'article_views'. –