Foreign Key + Primary key

219 views
Skip to first unread message

Sandeep kaur

unread,
Feb 8, 2012, 12:01:11 PM2/8/12
to django...@googlegroups.com
Is there any way of having a field in table, declared both as foreign
key as well as primary key?
I want something like this in models:
publisher = models.ForeignKey(Publisher,primary_key=True)

--
Sandeep Kaur
E-Mail: mkaur...@gmail.com
Blog: sandymadaan.wordpress.com

Joel Goldstick

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

I'm not sure if I am reading you right but maybe you are thinking
about one to one relationship:

https://docs.djangoproject.com/en/dev/topics/db/models/#one-to-one-relationships

--
Joel Goldstick

yati sagade

unread,
Feb 8, 2012, 12:54:13 PM2/8/12
to django...@googlegroups.com
Even if there was provision for that(I don't know), it really wouldn't make sense. A parent relation tuple can be referenced by multiple child relation tuples - thereby breaking the uniqueness constraint that comes with a primary key.

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




--
Yati Sagade

(@yati_itay)


akaariai

unread,
Feb 8, 2012, 12:57:34 PM2/8/12
to Django users
On Feb 8, 7:01 pm, Sandeep kaur <mkaurkha...@gmail.com> wrote:
> Is there any way of having a field in table, declared both as foreign
> key as well as primary key?
> I want something like this in models:
>      publisher = models.ForeignKey(Publisher,primary_key=True)

If the above doesn't work, then I guess the answer is no.

You could probably do:
publisher = models.ForeignKey(Publisher, unique=True)
which is at least somewhat close to what you wanted. You will have an
extra column for the PK, but otherwise this should function pretty
close to having the ForeignKey as PK.

- Anssi

vicherot

unread,
Dec 28, 2012, 7:48:31 PM12/28/12
to django...@googlegroups.com
Well, i was looking for some help to this particulary problem... what Sandy want to do its callit "Generalization".  Its use full for Generalize o Specialize models... look http://packages.python.org/djeneralize/terminology.html for a example... in Django you must to use "inheritance" of models or even http://packages.python.org/djeneralize/index.html

See ya
Reply all
Reply to author
Forward
0 new messages