python - Django:对象没有属性 'id'

标签 python mysql django django-models

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

'feed' object has no attribute 'id'

这是我的代码:

表单.py

from django import forms
from .models import feed

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

模型.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()

View .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')

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

最佳答案

您需要在父类(super class)上调用 __init__() 让 django 正确初始化您的模型:

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

        date = timezone.now()

关于python - Django:对象没有属性 'id',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27580732/

相关文章:

php - 在同一个表中回显具有相同列名的多个值

python - django 简单评级,查询太多

django - Serializer等效于rest框架中django表单的clean

python - 在 PyTorch 中有条件地应用张量运算

python - 如何在 Python 中查找 base64 编码图像的文件扩展名

Python 日期时间 : 21-Feb-12 to %d-%m-%Y

python - 如果 URL 存在,则检查 Python

通过 SSH 隧道连接 MySQL

mysql - 一般错误 : 1364 Field 'xxxx' doesn't have a default value

python - 将 JSON 对象列表转换为 Django 模型实例