Python 是否可以使用django管理页面界面创建新字段?
是否可以通过Django管理页面创建和删除新的字符域或文本区域,而无需对其进行编码 例如,我有一个简单的模型,在Django管理页面中注册Python 是否可以使用django管理页面界面创建新字段?,python,django,backend,Python,Django,Backend,是否可以通过Django管理页面创建和删除新的字符域或文本区域,而无需对其进行编码 例如,我有一个简单的模型,在Django管理页面中注册 class DocumentList(models.Model): title = models.CharField(max_length=200) def __str__(self): return self.title 显然,它在管理页面上只有一个charfield,类似于: DocumentList: [______
class DocumentList(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return self.title
显然,它在管理页面上只有一个charfield,类似于:
DocumentList: [___________]
如果需要,我如何在Django管理页面中添加另一个并删除她,而不在models.py
中硬编码另一个charfield/textarea,使其看起来像:
DocumentList: [___________]
*****************[___________]
Django模型不需要动态更改。您必须在模型上显式添加字段,运行迁移以在数据库后端创建字段,并重新加载服务器进程(
/manage.py runserver
自动执行此操作)
如果要创建一个可以容纳任意数量的文本字符串而不是一个或固定数量的文本字符串的模型,则需要使用与另一个模型的多对多关系。您可以在管理中使用自定义表单,也可以使用该方法的选项。这是如何传递自定义
表单的文档示例:
from django import forms
from django.contrib import admin
from myapp.models import Person
class PersonForm(forms.ModelForm):
class Meta:
model = Person
exclude = ['name']
class PersonAdmin(admin.ModelAdmin):
exclude = ['age']
form = PersonForm
您可以以任何形式添加额外字段
我想知道你为什么想要这个。由于您在评论中说过将信息提交给API,因此您也可以使用,从中获取用户的输入
编辑:正如在评论中显而易见的那样,表单对于用户来说需要是动态的,而不是在创建表单时。因此,解决方案是使用,一旦创建并链接到当前模型,允许用户向当前表单添加任意数量的相关表单。但是有没有办法动态更改django管理页面上的内容(我正在使用它将其发送到API)?“动态更改内容”是什么意思?您可以通过Django admin动态地更改字段的值,但不能更改字段的数量。糟糕,我的意思是在Django admin页面上动态地更改字段的数量。我的意思是使用Django admin interfaceOh动态地更改字段的数量。您可以使用,然后获得一个链接来动态添加更多表单。如果这是足够的(即,每个表单都有一个字段,或几个字段,您希望动态添加),它将工作,尽管我认为这有点困难。您也可以在管理操作的中间页面中这样做。谢谢,您的建议实际上解决了我的问题-我使用了内联线,这实际上是我想要的很棒!那么我将把评论转移到答案上。