You might try specifying distinct related names, just off the cuff.  -Bill

On Wed, Feb 13, 2013 at 2:25 PM, Ray Hatfield <[email protected]>wrote:

> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
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