Как создать поле Dynami c ManyToMany в Django? - PullRequest
0 голосов
/ 03 мая 2020

В представлении добавления администратора я хотел бы иметь возможность динамически выбирать поле A_permission из выбранного объекта A при создании нового объекта B

A(models.Model):
 name = models.CharField(primary_key=True, max_length=50)
 permission = models.CharField(max_length=50)

B(models.Model):
  A_name = models.ForeignKey(A)
  A_permissions = models.ManyToManyField(A)

Так, например, у меня есть objectA1 и objectA2. При создании object B я должен иметь возможность сначала выбрать один из A objects, а затем просто получить его разрешение для выбора в поле A_permissions

Может кто-нибудь указать мне, как это сделать? Я чувствую, что все перепробовал

1 Ответ

0 голосов
/ 03 мая 2020

В дополнение к комментариям, которые я сделал к вашему вопросу, ниже показано, как я бы позволил выбрать несколько разрешений от A до одной записи в B.

В models.py:

class A(models.Model):
    name = models.CharField(primary_key=True, max_length=50)
    permission = models.CharField(max_length=50)

    def __str__(self):
        return f"{self.name}: {self.permission}"

class B(models.Model):
    A_name = models.ManyToManyField(A)

В admin.py

from .models import A, B

admin.site.register(A)
admin.site.register(B)

Go для администратора Вы должны иметь возможность выбрать несколько разрешений из A в одной записи для B, используя shift + click или ctrl + click.

Есть много хороших django учебных пособий. Я считаю Mozilla django учебник довольно хорошим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...