我有2个软件平台,上面带有相同的文档,但文件名不同。如果我有一个1个文件名的实例,我想从另一个平台获取相应的文件名。
在下面的示例中,带有a的字段将存储一个平台的文件名,带有b的字段将存储另一平台的相应文件名
所以,如果我有一个列表:
my_list=['fname', 'anotherfname', 'andanotherfn']
我的模特包括:
class DocumentIndex(models.Model):
Carfilenamea = models.CharField(null=True, blank=True, max_length=10)
Carfilenameb = models.CharField(null=True, blank=True, max_length=10)
Housefilenamea = models.CharField(null=True, blank=True, max_length=10)
Housefilenameb = models.CharField(null=True, blank=True, max_length=10)
Vanfilenamea = models.CharField(null=True, blank=True, max_length=10)
Vanfilenameb = models.CharField(null=True, blank=True, max_length=10)
...
列表中的每个项目只会在数据库中出现一次。
如果“ fname”存储在Housefilenamea中,我想从Housefilenameb中获取数据
答案 0 :(得分:1)
b_list = []
for fname in my_list:
try:
instance = DocumentIndex.objects.get(housefilenamea=fname)
b_list.append(instance.housefilenameb)
except DocumentIndex.DoesNotExist:
pass