获取模型对象的 id,它是另一个模型对象 django 的 FK

Get the id of a model object which is FK of another model object django

我有一个名为 WarehouseProduct 的模型,它有一个字段 warehouse_id,它是 Warehouse 模型的 FK,我需要获取它 warehouse_id,以便它 return该 FK 仓库的 ID。我尝试使用:

def __int__(self):
    return self.id

which returns WareHouse object (6),另一种方式:

def __str__(self):
    return str(self.id)

哪个 return 的 ID,但类型是仓库,所以我无法将其转换为 int 以供进一步使用。

您可以通过views中的values()和first()函数获取ant id

WarehouseProduct.objects.values('warehouse_id')

它将 return 所有对象 ID(仅) 通过过滤器 WarehouseProduct,您可以获得特定的 id

WarehouseProduct.objects.filter(WarehouseProduct_filed == Value you enter ).first()

由于我的warehouse_id FK是一个模型实例,我需要得到这个FK的id,而不是它本身,当我这样使用时,我使用什么魔术方法都没有关系:

Object.warehouse_id.id 效果最好。