如何清除模型对象列表

2024-09-27 20:18:37 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我代码的一部分。你知道吗

dbList = []
for obj in xmlData.iter("object")
    task = TaskViewModel()
    task.id = obj.("pk")
    task.name = obj.find("field[@name='name']").text
    task.parent_task_id = obj.find("field[@name='parent_task_id']").text
    dbList.append(task)

我的问题是它只给我重复的结果。你知道吗

我的预期结果是:

dbList = ["dale","Michelle","Fred","Debbie"]

但它给了我这个结果:

dbList = ["Debbie","Debbie","Debbie","Debbie"]

我想我应该澄清一些事情。你知道吗

嗨,这是示例文件:

<?xml version="1.0" encoding="utf-8"?>
    <django-objects version="1.0">
<object model="task.task" pk="31">
<field name="name" type="CharField">Dale</field>
<field name="parent_task_id" type="IntegerField">0</field>
</object>
<object model="task.task" pk="32">
<field name="name" type="CharField">Michelle</field>
<field name="parent_task_id" type="IntegerField">0</field>
</object>
<object model="task.task" pk="33">
<field name="name" type="CharField">Fred</field>
<field name="parent_task_id" type="IntegerField">31</field>
</object>
<object model="task.task" pk="34">
<field name="name" type="CharField">Debbie</field>
<field name="parent_task_id" type="IntegerField">31</field>
</object>
</django-objects>"

我有这门课

class TaskViewModel():
   id = 0
   name = ""
   parent_task_id = ""

所以我才这么做:

for obj in xmlData.iter("object")
    task = TaskViewModel()
    task.id = obj.("pk")
    task.name = obj.find("field[@name='name']").text
    task.parent_task_id = obj.find("field[@name='parent_task_id']").text
    dbList.append(task)

Tags: textnameidobjfieldtaskmodelobject
1条回答
网友
1楼 · 发布于 2024-09-27 20:18:37

我不确定您使用什么来解析xml,我使用了xml库并获得了以下结果:

xml是您发布的xml文件。你知道吗

from xml.etree import ElementTree

with open('t.xml') as f:
    tree = ElementTree.parse(f)

dbList = []
for node in tree.iter():
    if node.tag == 'field' and node.attrib.get('name') == 'name':
        dbList.append(node.text)

相关问题 更多 >

    热门问题