相关疑难解决方法(0)

Django中的通用一对一关系

我需要建立一对一的关系,这种关系也必须是通用的.也许你可以建议我一个更好的设计.到目前为止,我提出了以下模型

class Event(models.Model):
    # skip event related fields...
    content_type      = models.ForeignKey(ContentType)
    object_id         = models.PositiveIntegerField()
    content_object    = generic.GenericForeignKey('content_type', 'object_id')

    class Meta:
        unique_together   = ('content_type', 'object_id')

class Action1(models.Model):
    # skip action1 related fields...
    events = generic.GenericRelation(Event, content_type_field='content_type', object_id_field='object_id')

    @property
    def event(self):
        return self.events.get() # <<<<<< Is this reasonable?

class Action2(models.Model):...
Run Code Online (Sandbox Code Playgroud)

在事件列表中的Django Admin中,我想收集所有操作,然后从那里我想去管理页面进行操作.是否有可能避免event在动作模型中创建属性?有更好的解决方案吗?将字段events和属性组合event在一个定义中会很好.我正在使用的项目使用Django 1.1

python django django-models one-to-one django-admin

21
推荐指数
2
解决办法
5152
查看次数

如何在django中制作和实施通用的OneToOne关系?

我想要完全相同的东西django.contrib.contenttypes.generic.GenericForeignKey,而OneToOne不是ForeignKey.我认为一个简单(虽然略微不优雅)的解决方法是添加unique=True到相关领域,但是那个borks.

generics django database-relations django-models

5
推荐指数
1
解决办法
1836
查看次数