Django: как добавить ограничения на панель инструментов внешнего ключа - PullRequest
0 голосов
/ 26 мая 2018

У меня есть модель ниже:

class Account(models.Model):
    owner = models.ForeignKey(User, on_delete=models.CASCADE)

class AccountCreate(generics.ListCreateAPIView):
    def get_queryset(self):
       return Account.objects.filter(owner=self.request.user)
    serializer_class = AccountSerializer

Я хочу создать учетную запись, владельцем которой будет такой же, как и request.user.Но когда я попытался создать новую учетную запись, на панели инструментов отображались все пользователи.Как сделать выбор только request.user?

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

enter image description here

1 Ответ

0 голосов
/ 26 мая 2018

Если есть только один выбор, почему вы делаете это поле в форме в первую очередь?Если вы удалите поле владельца из формы и автоматически назначите пользователя в качестве владельца в представлении, не будет ли это проще для пользователя и будет меньше работать для вас?Кроме того, если вся форма - это всего лишь один вопрос (и если на этот вопрос есть только один возможный ответ), не будет ли проще обработать создание объекта в представлении, когда нажата кнопка или что-то еще?

...