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 -~----------~----~----~----~------~----~------~--~---