Hi,

I have a model which requires two addresses: a mailing address and a 
physical address. From an OO perspective it makes sense to have an Address 
class and the Producer to have Address instances as properties, but I can't 
seem to achieve this in django while still being able to edit the addresses 
inline as part of the Producer admin.

I've tried this sort of thing:

class Address( models.Model ):
    street = models.CharField( ... )
    # city state zip, etc.

class Producer( models.Model ):
    mailing_address = models.OneToOneField( Address, related_name='+' )
    physical_address = models.OneToOneField( Address, related_name='+' )

but when I attempt to inline the addresses in the django admin I run into 
trouble. I get errors like:

<class 'producers.models.Address'> has no ForeignKey to <class 
'producers.models.Producer'>

(This error is true, of course. But I was under the apparently erroneous 
impression that including related_name='+' would prevent django from 
setting up the reverse relationship.)

I realize I could add a foreign key to Address to associate it with a 
specific Producer but this feels backwards to me. An Address shouldn't need 
to know whether it's for a Producer or some other object. It's just an 
address.

I've been banging my head on this for far too long. Advice?

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


Reply via email to