我在看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)
我应该在模型中还是在管理器中放置此方法?
答案 0 :(得分:11)
已经get_or_create使用,如:
obj, created = MyModel.objects.get_or_create(keywordArguments)