Wednesday, July 25, 2012

Re: 'QuerySet' object has no attribute '_meta' ... but I'm not using a QuerySet!

Looks good to me. Are you sure have shown us all the relevant parts of
your code?

On 7/25/12, Deathweasel <deathweasel@gmail.com> wrote:
> Hello, guys.
> This is Django 1.4.
>
> I have this code from my view:
>
> my_art = ArtworkModel.objects.get(id=pk)
> comments = CommentModel.objects.filter(artwork=pk)
> artForm = ArtworkForm(instance=my_art)
> ...
>
> These models:
>
> class ArtworkModel(models.Model):
> """
> This class contains the information necessary to describe a piece
> of
> artwork uploaded to my website. Technically, the artist field is
> unnecessary, but I'm throwing it in because I'd like to be able
> to upload collaborations.
> """
> MEDIUMS = (('ink', 'ink'),
> ('graphite', 'graphite'),
> ('watercolor', 'watercolor'),
> ('oil', 'oil'),
> ('acrylic', 'acrylic'),
> ('digital', 'digital'),
> ('sculpture', 'sculpture'),
> ('other','other'))
>
> title = models.CharField(max_length=200)
> medium = models.CharField(max_length=200, choices=MEDIUMS,
> default='graphite')
> upload_date = models.DateTimeField(auto_now_add=True)
> artist = models.CharField(max_length=200)
> image = models.ImageField(upload_to=getFilePath)
> desc = models.TextField(verbose_name="Description", max_length=500)
>
> class Meta:
> ordering = ['title']
>
> def __unicode__(self):
> return '-'.join((self.title, self.artist, self.medium))
>
> class CommentModel(models.Model):
> """
> This class contains the information necessary to describe a comment
> that someone's left about a piece of artwork.
> """
> commenteer = models.CharField(max_length=200, blank=False)
> comment_body = models.TextField(blank=False)
> artwork = models.ForeignKey(ArtworkModel)
> date = models.DateTimeField(auto_now_add=True)
>
> class Meta:
> ordering = ['date']
>
>
> And this traceback:
> Traceback:
> File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py"
> in get_response
> 111. response = callback(request, *callback_args,
>
> **callback_kwargs)
> File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in
>
> _wrapped_view
> 91. response = view_func(request, *args, **kwargs)
> File "/home/deathweasel/shiny-website/deathweasel/artwork/views.py" in
> modify_artwork
> 94. artForm = ArtworkForm(instance=my_art)
> File "/usr/local/lib/python2.7/dist-packages/django/forms/models.py" in
> __init__
> 238. object_data = model_to_dict(instance, opts.fields,
> opts.exclude)
> File "/usr/local/lib/python2.7/dist-packages/django/forms/models.py" in
> model_to_dict
> 111. opts = instance._meta
>
> Exception Type: AttributeError at /artwork/8/modify/
> Exception Value: 'QuerySet' object has no attribute '_meta'
>
> The internet says I should be using a regular Model instance rather than a
> QuerySet to populate my form. The thing is that I think I AM using a
> regular model. I'm not even using
> those CommentModels yet. I don't understand why this is failing? Please
> help?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/django-users/-/_eRwn1qmzr0J.
> To post to this group, send email to django-users@googlegroups.com.
> To unsubscribe from this group, send email to
> django-users+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>
>

--
Sent from my mobile device

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment