不确定描述问题的最佳方法是什么.我有2个表联系和属性.联系表每人有1个条目,属性表每人有0个,1个或多个条目.他们目前加入了一个"假的"外键,这个外键实际上不是外键.如果我需要添加外键,那么处理旧数据并不是什么大问题,原来没有外键.所以表格如下:
联系:
class contact(models.Model):
contactId = models.AutoField(primary_key=True, db_column='contactId')
firstName = models.CharField(max_length=255, null=True, db_column='firstName')
middleName = models.CharField(max_length=255, null=True, db_column='middleName')
lastName = models.CharField(max_length=255, null=True, db_column='lastName')
Run Code Online (Sandbox Code Playgroud)
属性:
class attribute(models.Model):
attributeId = models.AutoField(primary_key=True, db_column='attributeId')
contactId = models.IntegerField(db_index=True, null=True, db_column='contactId')
attributeValue = models.TextField(null=True, db_column='attributeValue')
Run Code Online (Sandbox Code Playgroud)
所以我已经正确设置了Django模型来表示这些表.现在我需要完成的是一个循环遍历这些表的视图和模板,以便它以下列格式生成一个xml doc:
<contacts>
<contact>
<contactId></contactId>
<firstName></firstName>
<lastName></lastName>
<attributes>
<attribute>
<attributeId></attributeId>
<attributeValue></attributeValue>
</attribute>
</attributes>
</contact>
</contacts>
Run Code Online (Sandbox Code Playgroud)
因此,将列出所有联系人以及与每个联系人关联的所有属性.
我确信有一种简单的方法可以实现这一目标.在其他语言中,我会简单地编写两个循环查询来遍历联系人,然后遍历每个联系人的属性.然而,我工作的公司正在迁移到一个新的平台,并希望用django/python编写的新应用程序,我仍在努力学习.
任何人都可以提供任何帮助表示赞赏.