Django: object does not have attribute 'id'

When saving an object, it shows an error, for example:

'feed' object has no attribute 'id'

And here is my code:

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

Where did I make a mistake here? Am I using the foreign key method correctly? thanks in advance

+4
source share
1 answer

You need to call __init__()in the superclass to allow django to properly initialize your model:

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

        date = timezone.now()
+2
source

Source: https://habr.com/ru/post/1568451/


All Articles