我对管理模型的正确,最佳方式有疑问。 我是django的相对新手,所以我想我需要阅读更多的文档,教程等(对此的建议会很酷!)。
无论如何,这是我的问题:
我有一个python网络爬虫,与django模型“连接”。
每天进行一次抓取,因此查找“重复”非常常见。为避免重复,我这样做:
cars = Car.Objects.filter(name=crawledItem['name'])
if len(cars) > 0:
#object already exists, update it
car = cars[0]
else:
car = Car()
#some non-relevant code here
car.save()
我想知道,如果这是正确/正确的方式或任何“自动”方式。
可以将逻辑放在Car()构造函数中,我应该这样做吗?
非常感谢!
答案 0 :(得分:6)
使用管理器的get_or_create()
方法,然后根据需要修改返回的实例。