Django:对象没有属性'id'

Posted

技术标签:

【中文标题】Django:对象没有属性\'id\'【英文标题】:Django: object has no attibute 'id'Django:对象没有属性'id' 【发布时间】:2015-02-19 06:09:01 【问题描述】:

保存对象时显示如下错误:

'feed' object has no attribute 'id'

这是我的代码:

form.py

from django import forms
from .models import feed

class feed_form(forms.ModelForm):
    class Meta:
        model = feed
        fields = ('feed_text',  )

models.py

class feed(models.Model):
    user = models.ForeignKey(User,null=True,blank=True)
    feed_text = models.CharField(max_length=2000)
    date =0 
    upvote = 0
    downvote = 0

    def __str__(self):
        return feed.content

    def __init__(self):
        date = timezone.now()

views.py

def upload(request):
    feed_cont = feed_form(data=request.POST)
    feed_cont.save(commit=False)
    feed_cont.user = User.objects.get(pk =1)
    feed_cont.upvote = 0
    feed_cont.downvote = 0
    feed_cont.save()
    return render(request,'feeds/feeds.html')

我在哪里犯了错误?我是否以正确的方式使用外键方法? 提前致谢

【问题讨论】:

【参考方案1】:

你需要在超类上调用__init__(),让django正确初始化你的模型:

class feed(models.Model):
    ...
    def __init__(self, *args, **kwargs):
        super(feed, self).__init__(*args, **kwargs)

        date = timezone.now()

【讨论】:

以上是关于Django:对象没有属性'id'的主要内容,如果未能解决你的问题,请参考以下文章

Django CBV - Formsets:'NoneType'对象没有属性'id'

Django-cms:“设置”对象没有属性“SITE_ID”

(Django) 安装夹具“rules.json”时出现问题:“NoneType”对象没有属性“id”

AttributeError:类型对象'Categories'在Django中没有属性'user_id__isnull'

获取'str'对象在Django中没有属性'get'

Django syncdb AttributeError:“list”对象没有属性“startswith”