Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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管理员:将多个项目从textfield添加到数据库_Django_Django Admin - Fatal编程技术网

Django管理员:将多个项目从textfield添加到数据库

Django管理员:将多个项目从textfield添加到数据库,django,django-admin,Django,Django Admin,我需要做一个小应用程序,其中只有django管理员使用 所以我有一个模型,有一个表,有一列,比如说表名为items,列名为“name” 我希望每行有一个字符域,而不是一个文本域。此文本字段的每一行都将作为新行添加到表“items”中 编辑:将是伟大的,有文件上传字段也。。。然后手动解析数据 我甚至无法想象从哪里开始。这是一个非常令人困惑的问题 您有一个名为Items的表。表Items中的一列是名为Name的文本字段。textfieldName中的每一行都将添加到与新db行相同的表中 如果文本字段

我需要做一个小应用程序,其中只有django管理员使用

所以我有一个模型,有一个表,有一列,比如说表名为items,列名为“name”

我希望每行有一个字符域,而不是一个文本域。此文本字段的每一行都将作为新行添加到表“items”中

编辑:将是伟大的,有文件上传字段也。。。然后手动解析数据


我甚至无法想象从哪里开始。

这是一个非常令人困惑的问题

您有一个名为
Items
的表。表
Items
中的一列是名为
Name
的文本字段。textfield
Name
中的每一行都将添加到与新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)