Django管理员:将多个项目从textfield添加到数据库
我需要做一个小应用程序,其中只有django管理员使用 所以我有一个模型,有一个表,有一列,比如说表名为items,列名为“name” 我希望每行有一个字符域,而不是一个文本域。此文本字段的每一行都将作为新行添加到表“items”中 编辑:将是伟大的,有文件上传字段也。。。然后手动解析数据Django管理员:将多个项目从textfield添加到数据库,django,django-admin,Django,Django Admin,我需要做一个小应用程序,其中只有django管理员使用 所以我有一个模型,有一个表,有一列,比如说表名为items,列名为“name” 我希望每行有一个字符域,而不是一个文本域。此文本字段的每一行都将作为新行添加到表“items”中 编辑:将是伟大的,有文件上传字段也。。。然后手动解析数据 我甚至无法想象从哪里开始。这是一个非常令人困惑的问题 您有一个名为Items的表。表Items中的一列是名为Name的文本字段。textfieldName中的每一行都将添加到与新db行相同的表中 如果文本字段
我甚至无法想象从哪里开始。这是一个非常令人困惑的问题 您有一个名为
Items
的表。表Items
中的一列是名为Name
的文本字段。textfieldName
中的每一行都将添加到与新db行相同的表中
如果文本字段name
需要拆分为单独的DB行,为什么会有多行
一个想法是设置一个ModelAdmin,覆盖save_模型,在这里您劫持对象,从不保存它,并在迭代文本字段时手动创建“项”
这个例子有效
至于文件字段。。。
有一个文件字段:models.FileField()
但更重要的是,您应该只设置一个URL&视图,即:“/upload file/”,否则您的DB中的每一行都会有一个空白的FileField
如果你真的想使用admin应用程序,请覆盖add_视图模板,加入你自己的上传表单并单独处理文件
django查看请求.FILES['myfile']中的
+,因为将有数千个链接复制粘贴到此文本字段。。这些链接将出现在由其他脚本生成的文本文件中,客户希望手动执行此过程。。thnx=)我会试试这个。嘿,holms,我的例子很管用,但我的意思是使用DB保存行为作为处理行为很奇怪:)在处理POST数据或其他内容的地方,查看和上传url更自然。德国劳埃德船级社!PS:更新帖子,回答第2个问题
class ItemsAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
data = obj.name
items = [x for x in data.split('\n') if x and not x.isspace()]
for item in items:
Items.objects.create(name=item)