#11437: [soc2009/multidb] M2M Relationship with through=[model] whose primary 
key
is renamed fails with wrong column name
---------------------------------------------------+------------------------
          Reporter:  anonymous                     |         Owner:  nobody     
                 
            Status:  closed                        |     Milestone:             
                 
         Component:  Database layer (models, ORM)  |       Version:  
soc2009/multidb             
        Resolution:  invalid                       |      Keywords:  multidb 
manytomany db_column
             Stage:  Unreviewed                    |     Has_patch:  0          
                 
        Needs_docs:  0                             |   Needs_tests:  0          
                 
Needs_better_patch:  0                             |  
---------------------------------------------------+------------------------
Changes (by anonymous):

  * status:  new => closed
  * resolution:  => invalid

Comment:

 I'm sorry, was my fault. I didn't run manage.py validate, which helpfully
 let me know:
 {{{
 Error: One or more models did not validate:
 adsales.adsalesadorderlistingbridge: "id": You can't use "id" as a field
 name, because each model au
 tomatically gets an "id" field if none of the fields have
 primary_key=True. You need to either remov
 e/rename your "id" field or add primary_key=True to a field.
 }}}

 I had declared my model like this:
 {{{
 class AdSalesAdOrderListingBridge(models.Model):
     id = models.IntegerField(db_column='ad_order_listing_bridgeId')
 }}}

 And just forgot to add the keyword argument primary_key=True.

 I can only assume that django would parse my model, not find a pk, and
 then overwrite my id field definition with the automatic id field (which
 of course wouldn't have db_column set, but would have primary_key set)

 Thanks for looking at this, even though it was my fault :(

 Perhaps a startup run-time model parsing exception (ImproperlyConfigured)
 should be generated if django is about to overwrite a field?

-- 
Ticket URL: <http://code.djangoproject.com/ticket/11437#comment:4>
Django <http://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 post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to