фильтр объектов моделей Django - PullRequest
1 голос
/ 23 апреля 2010

У меня есть модель 'Test', в которой у меня есть 2 иностранных ключа

models.py

class Test(models.Model):
    id =models.Autofield(primary_key=True)
    name=models.ForeignKey(model2)
    login=models.ForeignKey(model1)
    status=models.CharField(max_length=200)



class model1(models.Model):
   id=models.CharField(primary_key=True)
   .
   .

   is_active=models.IntergerField()


 class model2(model.Model):
    id=models.ForeignKey(model1)
     .

     .
     status=model.CharField(max_length=200)

Когда я добавляю объект в модель 'Test', если я выбираю определенный логинтогда в поле «имя» должны отображаться только объекты, относящиеся к этим объектам (модель2). Как я могу этого добиться. Это будет среда выполнения, как если бы я изменил значение поля логина, объекты в имени также должны измениться.

1 Ответ

1 голос
/ 23 апреля 2010

Перезаписать метод сохранения класса Тест .Таким образом, вы можете установить имя на все, что вы хотите, основываясь на имени пользователя.

class Test(models.Model):
    .
    .
    def save(self, force_insert=False, force_update=False):
        self.name = self.login.model_set()[0] # or what ever you want
        super(Test, self).save(force_insert, force_update)
...