Django - 与类模型实例的关系

时间:2010-01-18 13:12:09

标签: django django-models

我制作了一些宠物类型的模型类:鹦鹉,兔子,猫,狗,我需要制作模型 商店,其中一个字段将与此模型中的少数相关。该字段将显示在商店中销售的商品。 我可以在一个模型对象和几个模型类之间建立关系吗?

如果我不能,我怎么需要改变我的计划?

例如:

1 Shop1 [Parrot,Rabbit]

2 Shop2 [猫,狗,兔]

1 个答案:

答案 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)