On Mon, Nov 10, 2008 at 7:59 PM, K*K <[EMAIL PROTECTED]> wrote:
>
> Hi, all.
>
> How can I create a new table without primary key in Django modeling. ?
>
> I'm porting a old program to Django web framework. After inspect
> database to modules.py and then syncdb, It create the id filed with
> primary key attribute, how can I disable this feature ?

inspectdb isn't perfect - it's just a starting point that will
hopefully remove the need to do a lot of typing. It is entirely
expected that you will need to tweak the model provided by inspectdb.
If inspectdb is producing an extra 'id' field in the model it
suggests, just delete that field from the suggested model.

However, because of the way Django operates, you will need to nominate
one of the fields in your model to be the primary key. In your case,
I'm guessing that inspectdb can't find an obvious candidate for the
primary key, so it has given up and put an extra 'id' field into the
definition it suggests.

You can choose any field you want to be the primary key (provided it
actually contains unique data). It doesn't matter what that field is
called - it just needs to set the primary_key attribute to True. For
example, if one of your models has a 'name' field that could be used
as a primary key, you would use a definition something like:

    name = models.CharField(max_length=40, primary_key=True)

Yours,
Russ Magee %-)

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

Reply via email to