get_or_create使用django表单

时间:2012-08-18 12:08:53

标签: django django-forms django-views

有没有办法在视图中使用get_or_create?

这是我的models.py

class Link(models.Model):
    url = models.URLField(max_length=512, unique=True)
    short_url = models.URLField(max_length=16, blank=True, null=True)

和我的views.py就是这样。

if oplinkform:
    oplink = Link.objects.get_or_create(url = oplinkform.data['url'])
    oplink.save()

我应该得到一个链接对象..对吗? 它给我一个元组......为什么?

这是我用django得到的错误。

AttributeError at /home/
'tuple' object has no attribute 'save'
Request Method: POST

//小鼠

1 个答案:

答案 0 :(得分:3)

get_or_create返回(object, created)元组,其中created是一个布尔值,表示它是否已创建。

试试这个:

oplink, created = Link.objects.get_or_create(url = oplinkform.data['url'])