gpt4 book ai didi

django管理面板在选择时无法设置有效的选择。

转载 作者:行者123 更新时间:2023-12-03 14:49:41 24 4
gpt4 key购买 nike

我使用 enum.Enum 作为字段语言的选择。

我可以通过 b = Book(title="Some Title", language=LanguageChoice.EN) 创建一本书.

并通过books = Book.objects.filter(languge=LanguageChoice.EN)查询.

然而 ,当我想在管理面板上创建新书时,它会显示 Select a valid choice. LanguageChoice.EN is not one of the available choices. .

Django 有 ability to serialize enum.Enum从 1.10 开始。那么管理面板应该如何工作呢?谢谢。

from enum import Enum
from django.db import models


class LanguageChoice(Enum):
DE = "German"
EN = "English"
CN = "Chinese"
ES = "Spanish"


class Book(models.Model):
title = models.CharField(max_length=255)
language = models.CharField(
max_length=5,
choices=[(tag, tag.value) for tag in LanguageChoice]
)

最佳答案

我刚遇到这个问题。重写你的Book模型如下,并注意选择行的变化。

class Book(models.Model):
title = models.CharField(max_length=255)
language = models.CharField(
max_length=5,
choices=[(tag.name, tag.value) for tag in LanguageChoice]
)

关于django管理面板在选择时无法设置有效的选择。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50974848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com