Django管理员使用内联,1个模型,2个外键,2个不同的模型

时间:2015-06-14 00:49:31

标签: django django-models foreign-keys django-admin

我总共有3个型号。我的主要型号有两个不同型号的2个外键。因此,关系被设置为多对一关系。当我尝试自定义管理员时,我无法让它只是允许我编辑主角色模型并显示2个内联(宇宙和系列)。

最简单的方法是什么?由于两个外国领域正在抛弃一切,因此接缝变得模棱两可。我已经仔细检查了文档,但我一定错过了一些东西;我在管理员中遇到了一个更复杂的多对多工作,所以这有点奇怪。

以下是我的模特:

regionprops

这是我的管理员:

class CharacterSeries(models.Model):
    name = models.CharField(max_length=200)

    def __unicode__(self):
        return self.name


class CharacterUniverse(models.Model):
    name = models.CharField(max_length=200) 

    def __unicode__(self):
        return self.name


class Character(models.Model):
    name = models.CharField(max_length=200) 
    rating = models.DecimalField(max_digits=3, decimal_places=1)
    universe = models.ForeignKey(CharacterUniverse)    
    series = models.ForeignKey(CharacterSeries)

    def __unicode__(self):
        return self.name

1 个答案:

答案 0 :(得分:1)

更新

我之前发布的代码错误!我没有仔细阅读你的模型。对不起。

如果您想在创建/编辑CharacterSeries时创建CharacterUniverseCharacter,则可以执行以下操作:

from django.contrib import admin
from .models import Character, CharacterUniverse, CharacterSeries

# No need to define `ModelAdmin` classes

admin.site.register(Character)
admin.site.register(CharacterUniverse)
admin.site.register(CharacterSeries)

上面的代码会在+universe字段后面显示 series (加号)符号。这有助于您动态创建CharacterUniverseCharacterSeries个对象