Django中的create_or_get方法

时间:2011-02-13 11:31:56

标签: python django django-models

我在看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 个答案:

答案 0 :(得分:11)

已经get_or_create使用,如:

obj, created = MyModel.objects.get_or_create(keywordArguments)