#33273: queryset.update SQL does not receive fields from base model of 
inheriting
model.
-------------------------------+--------------------------------------
     Reporter:  James Miller   |                    Owner:  nobody
         Type:  Uncategorized  |                   Status:  new
    Component:  Uncategorized  |                  Version:  3.2
     Severity:  Normal         |               Resolution:
     Keywords:                 |             Triage Stage:  Unreviewed
    Has patch:  0              |      Needs documentation:  0
  Needs tests:  0              |  Patch needs improvement:  0
Easy pickings:  0              |                    UI/UX:  0
-------------------------------+--------------------------------------
Description changed by James Miller:

Old description:

> In an admin function, I receive a queryset with the class that was
> registered with the admin decorator, @admin.register(ForumComment), where
> the queryset is populated with ForumComments selected to approve, where
> they have been reported for moderation.
>
> In my approve_comment function, I use queryset.update(moderation=None).
> The ForumComment model extends from a Comment model in another app.  When
> the code 'queryset.update(moderation=None) runs I get the following
> error:
> ```
> *** django.db.utils.OperationalError: (1054, "Unknown column
> 'django_posts_and_comments_comment.date_created' in 'order clause'"
> ```
> It seems that the queryset.update method is unable to scope the model
> 'ForumComment' to correctly include the methods/properties of the
> superclass 'Comment'.
>
> I have just returned to the code base after a while away, and I think
> that it worked, and the error is new.  I have solved the error by
> iterating over the records of the queryset and saving each one
> individually using update_fields for efficiency, but the queryset.update
> should work.
>
> I have asked this question at the forum where I have included code etc.
> https://forum.djangoproject.com/t/unknown-field-in-order-clause-when-
> using-model-inheritance/10444/2
>
> In sum, should it not be the case that queryset.update is capable of
> generating SQL that will correctly include the fields of a superclass
> model?

New description:

 In an admin function, I receive a queryset with the class that was
 registered with the admin decorator, @admin.register(ForumComment), where
 the queryset is populated with ForumComments selected to approve, where
 they have been reported for moderation.

 In my approve_comment function, I use queryset.update(moderation=None).
 The ForumComment model extends from a Comment model in another app.  When
 the code 'queryset.update(moderation=None) runs I get the following error:
 ```
 *** django.db.utils.OperationalError: (1054, "Unknown column
 'django_posts_and_comments_comment.date_created' in 'order clause'"
 ```

 It seems that the queryset.update method is unable to scope the model
 'ForumComment' to correctly include the methods/properties of the
 superclass 'Comment'.

 I have just returned to the code base after a while away, and I think that
 it worked, and the error is new.  I have solved the error by iterating
 over the records of the queryset and saving each one individually using
 update_fields for efficiency, but the queryset.update should work.

 I have asked this question at the forum where I have included code etc.
 https://forum.djangoproject.com/t/unknown-field-in-order-clause-when-
 using-model-inheritance/10444/2

 In sum, should it not be the case that queryset.update is capable of
 generating SQL that will correctly include the fields of a superclass
 model?

--

-- 
Ticket URL: <https://code.djangoproject.com/ticket/33273#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/074.dd3b5a11f8aa3d453c40cd242619a546%40djangoproject.com.

Reply via email to