我正在使用更新或创建模型,如下所示:
device_inv = Inventory.objects.update_or_create(
defaults={
'location' : site,
'device' : dev_name
},
device = dev_name
)
发布我认为我可以使用device_inv.id。但是printi device_inv我得到一个对象和False,我认为它是对象以及它是否被更新或创建的答案? (真实被创造,虚假被编辑)
>>> print device_inv
(<Inventory: Inventory object>, False)
我还尝试了几种尝试访问该对象的方法,但似乎都没有。
>>> for i in device_inv[0]:
... print i
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'Inventory' object is not iterable
>>> print device_inv[0]["id"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'Inventory' object has no attribute '__getitem__'
有人能指出我正确的方向吗?
答案 0 :(得分:4)
id
是对象实例的一个属性:
device_inv[0].id
或者您可以这样做:
device_inv, created = Inventory.objects.update_or_create(...)
print device_inv.id