Я пытаюсь сделать следующее соответствие в Django ORM. Наличие модели Publish
, которая управляет публикацией различных типов контента (другие модели). Это так, что я могу легко сделать Publish.objects.all()
и заказать их по дате. Я сделал общую модель следующим образом:
class Publish(models.Model):
""" Intermediary model for displaying and managing different types of content """
status = models.IntegerField(_('status'), choices=STATUS_CHOICES, default=1)
publish = models.DateTimeField(_('publish'), default=datetime.datetime.now)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
Проблема в том, что я хочу прикрепить это к разным моделям. Это должны быть отношения OneToMany
. Потому что статья может иметь только одну дату публикации. Родовые отношения, насколько я знаю, это отношения ManyToMany
.
Я пытался ограничить max_num
и extra
в GenericTabularInline
в admin.py, но это не очень хорошее рабочее решение. Кто-нибудь знает, как прикрепить модель публикации к нескольким различным моделям, сделав ее обязательным отношением «один ко многим»? Многие из них являются моделью публикации, одна для бывших. статья.