我制作了一些宠物类型的模型类:鹦鹉,兔子,猫,狗,我需要制作模型 商店,其中一个字段将与此模型中的少数相关。该字段将显示在商店中销售的商品。 我可以在一个模型对象和几个模型类之间建立关系吗?
如果我不能,我怎么需要改变我的计划?
例如:
1 Shop1 [Parrot,Rabbit]
2 Shop2 [猫,狗,兔]
答案 0 :(得分:3)
如果我正确理解了您的问题,您已经创建了代表不同类型宠物的模型类,并且您希望将各个商店与其中一些类相关联。
我假设您的宠物模型定义如下所示:
class Parrot(models.Model):
pining_for_fjords = models.BooleanField(default=True)
您可以使用contenttypes
执行此操作:
from django.contrib.contenttypes.models import ContentType
class Shop(models.Model):
pet_types = models.ManyToManyField(ContentType)
parrot_type = ContentType.objects.get(app_label="myapp", model="parrot")
// ManyToManyFields need to be added to already saved models
my_shop = Shop.objects.create()
my_shop.pet_types.add(parrot_type)