Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从django字段中的枚举获取特定选项_Django_Django Models_Enums_Django Admin_Django Orm - Fatal编程技术网

从django字段中的枚举获取特定选项

从django字段中的枚举获取特定选项,django,django-models,enums,django-admin,django-orm,Django,Django Models,Enums,Django Admin,Django Orm,我有一个模型。比方说 class Colors(models.Model): name = models.CharField(max_length=100) type = models.PositiveIntegerField(choices=choices(Type)) 还有一个枚举类 class Type(Enum): Red = 0 Green = 1 Blue = 2 因为我必须在管理中使用内联线,所以我使用了代理模型继承 class Colo

我有一个模型。比方说

class Colors(models.Model):
    name = models.CharField(max_length=100)
    type = models.PositiveIntegerField(choices=choices(Type))
还有一个枚举类

class Type(Enum):
    Red = 0
    Green = 1
    Blue = 2
因为我必须在管理中使用内联线,所以我使用了代理模型继承

class ColorIns(Colors):

    class Meta:
        proxy=True
我们有男孩和女孩的课,有最喜欢的颜色。这样一个男孩和女孩就可以拥有相同的fav颜色

class BoyGirlMap(models.Model):
    color = models.ForeignKey(ColorIns)
    boy = models.CharField(max_length=100, null=True, blank=True)
    girl = models.CharField(max_length=100, null=True, blank=True)
现在,我必须从ENUM类中只获取蓝色。不包括红色和绿色。 我们如何才能过滤掉它,以便在管理中只有蓝色将不包括绿色,红色

如何覆盖ColorIns模型中颜色模型的类型字段?

现在在管理中,我得到了以前创建的所有颜色。但我必须只展示蓝色。然后使用InlineModelAdmin添加男孩或女孩的名字。它是堆叠成直线还是列表成直线

我的Admin.py文件是

class BoyGirlMapInline(admin.TabularInline):
    model = BoyGirlMap
    extra = 0

@admin.register(ColorIns, site=admin.site)
class ColorInsAdmin(admin.ModelAdmin):
    inlines = [ BoyGirlMapInline, ]
    fields=('name',)

我觉得模特很奇怪。你能指定你的目标是什么吗?现在我认为有一个X/Y问题。实际上这是一个示例模型。因为我不能分享真实的模型。我只想在我的ColorIns模型中从ENUM获得一个选项。只是重写类型字段我需要使用抽象基类模型继承来代替代理模型继承吗?我只想从枚举类得到蓝色。不包括红色和绿色。我如何重写类型字段?您是希望您的选择是该枚举的子集还是在管理面板中特别限制?