Django:使用模型的正确方法,重复!

时间:2010-03-12 20:53:43

标签: python django

我对管理模型的正确,最佳方式有疑问。 我是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()构造函数中,我应该这样做吗?

非常感谢!

1 个答案:

答案 0 :(得分:6)

使用管理器的get_or_create()方法,然后根据需要修改返回的实例。