Django中的create_or_get方法
我在找Django有没有什么类似于create_or_get
的方法,但看起来是没有的。我想要这个方法的目的是,如果记录不存在,就创建一个;如果已经存在,就返回这个记录。
我自己写了一个,下面是它的样子:
def create_or_get(self, url):
try:
return Host.objects.create(url = url)
except IntegrityError, e:
return Host.objects.get(url = url)
我应该把这个方法放在哪里呢?是在模型里还是在管理器里?
1 个回答
11
已经有一个叫做 get_or_create 的功能,可以这样使用:
obj, created = MyModel.objects.get_or_create(keywordArguments)