给出以下模型:
class Assets(models.Model):
assettag = models.CharField()
...
pass
class Employees(models.Model):
loginname = models.CharField()
pass
class Item(models.Model):
descr = models.CharField()
asset = models.OneToOneField('Assets')
...
class Assignments(models.Model):
employeeid = models.ForeignKey('Employees')
assetid = models.ForeignKey('Assets')
...
我可以使用Q对象进行查询,以返回包含某个Item
或某个descr
的所有assettag
模型。
Item.objects.filter(Q(asset__assettag__icontains = query) |
Q(descr__icontains = query) #|
).order_by('asset__assettag')
是否可以通过某种方式包含employeeid__loginname
?我想不出办法。
我想检索Assets
表中引用的Item
并属于某个Employee
的{{1}}。
答案 0 :(得分:0)
首先在“工作分配”模型中添加一个“ related_name”。
assetid = models.ForeignKey(Assets, related_name='asset_related_name')
然后您可以使用此asset__asset_related_name__employeeid__loginname