0
我有一些模型需要與某些圖像有多對多的關係。我不想單獨創建每個關係,而是希望獲得一些可用於我所有模型的通用模型關係。所以我創建圖像和模型的ImageItem(我不知道如果我在正確的軌道上。):Django在仿製模型上的多對多關係
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,但我無法弄清楚如何做到這一點。
嗨阿里。感謝您的答覆。基本上我試圖從圖像管理頁面設置產品圖像。 1)選擇圖像2)選擇團隊或玩家將圖像添加到。對不起,我猜測這有點混亂,有點不符合標準。 – pocoa
那麼Django的管理員中GenericForeignKey的標準渲染有什麼問題?看看這個詳細的解釋:http://blog.yawd.eu/2011/admin-site-widget-generic-relations-django/當然,你可以添加一些JavaScript,使小部件更加可用,但一開始應該給你你想要的。 – arie
感謝您的鏈接。似乎沒有簡單的方法來做到這一點。 – pocoa