mik*_*ebz 2 python django django-models django-orm django-admin
我有一个模型,我在其中使用 Enum 进行选择:
class Agreement(models.Model):
class Category(enum.Enum):
EULA = 0
PROVIDER = 1
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
category = models.IntegerField(
choices=[(choice.name, choice.value)
for choice in Category])
title = models.CharField(max_length=128)
content = models.TextField()
Run Code Online (Sandbox Code Playgroud)
我使用简单的管理站点注册来注册它:
admin.site.register(Agreement)
Run Code Online (Sandbox Code Playgroud)
当管理站点呈现对象时,它不允许我保存它?有没有人有类似的问题?
根据文档:
每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是人类可读的名称。
name而value应该是周围的其他方法,比如:
category = models.IntegerField(
choices=[(choice.value, choice.name)
for choice in Category])
Run Code Online (Sandbox Code Playgroud)
因为category是一个整数字段并name返回一个字符串。
| 归档时间: |
|
| 查看次数: |
1665 次 |
| 最近记录: |