我正在尝试迭代某个模型的查询集,并希望从一个表到另一个表。我的模型如下(缩小到更小的版本):
class Erp(models.Model):
erp_id = models.AutoField(primary_key=True)
target_item = models.ForeignKey('Items', models.DO_NOTHING,related_name='target_item')
class PE(models.Model):
pe_id = models.AutoField(primary_key=True)
item = models.ForeignKey(Items, models.DO_NOTHING, related_name='pe_item')
class Items(models.Model):
item_id = models.AutoField(primary_key=True)
item_name = models.Charfield(max_length=20)
我的Queryset看起来像这样,我试图循环并打印类Erp的内容:
pe_queryset = PE.objects.filter(item_id=2)
for pe in pe_queryset:
print(pe.item.item_name) # is working
print(pe.item.target_item.erp_id) # is not working
print(pe.item.target_item) # gives back Erp.None
是否可以像这样通过条目迭代到另一个表的外键,或者我如何使用Queryset从ERP中获得值?
我试着遍历每个可能的列名。
pe_queryset = PE.objects.filter(item_id=2)
for pe in pe_queryset:
print(pe.item.item_name) # is working
print(pe.item.target_item.erp_id) # is not working
print(pe.item.target_item) # gives back Erp.None
1条答案
按热度按时间ej83mcc01#
Erp
不是item
那样的单个对象示例,因此应使用docs中所述的关系来检索相关数据。以下是一个示例: