У меня есть несколько моделей, которые должны иметь отношение многих ко многим с некоторыми изображениями.Вместо того, чтобы создавать каждое отношение по отдельности, я хочу иметь некоторые общие модельные отношения, которые я могу использовать для всех своих моделей.Итак, я создал модели Image и ImageItem (я не уверен, что я на правильном пути ...):
from django.contrib.contenttypes import generic
from django.contrib.contenttypes.models import ContentType
class Image(models.Model):
title = models.CharField(max_length=100)
image = models.ImageField(upload_to='images')
class ImageItem(models.Model):
image = models.ForeignKey(Image)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
object = generic.GenericForeignKey('content_type', 'object_id')
Что я хочу сделать, так это каждый раз, когда я создаю новое изображениеЯ хочу выбрать, каким объектам я хочу назначить это изображение.Так что в админ мне нужно что-то вроде:
Image: chicago_bulls.jpg
Selected model: Player
Selected:
Michael Jordan
Scotie Pippen
или
Image: kobe_bryant.jpg
Selected model: Team
Selected:
Los Angeles Lakers
US National Team
Правильно ли дизайн моей модели?Я также хочу использовать ModelMultipleChoiceField для этого, но я не мог понять, как это сделать.