On Jul 4, 4:35 pm, RajeshD <[EMAIL PROTECTED]> wrote:
> On Jul 4, 12:14 pm, AnaReis <[EMAIL PROTECTED]> wrote:
>
> > Hi again,
> > Thanks for the suggestion, but this still isn't working... the
> > difference between this module and the others that I have already made
> > is that (besides the fact that the others actually work) this one
> > involves a table with two primary keys. If it had just one I bet there
> > would be no problem.
>
> And you'd win that bet! I should have noticed the two PKs in your
> model.
>
> Here's the thing: Django allows only one PK field per object. You
> should remove the two primary_key=True attributes altogether from your
> model (letting Django create a PK id field for you.) Then, use the
> unique_together clause to make the database enforce that the pair
> (level_name, instrument_name) is always unique. That clause is defined
> in your Meta class like this:
>
> unique_together = (('level_name', 'instrument_name'),) # Note that
> this is a nested tuple
>
> For added measure you can add a db_index=True to your formerly primary
> key fields to make querying over them faster.
>
> Don't forget to wipe out the model entirely from your DB table
> (assuming you are in development mode with despensible test data) and
> then syncdb to recreate everything.
Hi,
Is it possible to do this unique_together field without changing the
database? It's because I'm using a legacy database and I can't change
it.
To create the models I simply used: django-admin.py inspectdb >
models.py
If Django creates the PK id field for me, do you mean it will chose
from one of the fields I will have in the database or will it create a
new field?
The model I'm using is this one:
[models.py]
class Level(models.Model):
    level_name = models.CharField(primary_key=True, maxlength=20)
    instrument_name = models.CharField(primary_key=True, maxlength=20)
    available = models.TextField()
    tablename = models.CharField(blank=True, maxlength=20)
    def __str__(self):
        (..)
    class Meta:
        db_table = 'Level'
I'm sorry for all my questions but I'm still learning how to work with
Django and there are several things that I still don't know how to
deal with. :)
And thanks for your help and patience! :)
Ana


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