Как вставить значения в таблицу user и сопоставить таблицу user и таблицу role и сохранить user_id и role_id в таблице role_user с помощью django

Мне нужно получить значения пользователей из postman с помощью метода "POST" и сопоставить значения ролей всем пользователям и сохранить user_id и role_id в таблицу role_user.

То, как я вставил значения:

{ "email": "sk@hara.com", "phone": "1234567890", "roles": { "id": 1, "name": "Пользователь лаборатории", "is_deleted": false }, }

usermodel.py

class user(AbstractBaseUser):
    
    email = models.EmailField(max_length=255, blank=False, null=False, unique=True)
    phone = models.CharField(max_length=20, blank=True, null=True)
    roles = models.ManyToManyField('Role', related_name="role_user", db_table="role_user")

 class Meta:
    db_table='user'

userserializer.py

class Adduser(serializers.ModelSerializer):
     email = serializers.CharField(max_length=255, required=True, validators=[user_exists])
     roles = serializers.PrimaryKeyRelatedField(queryset=Role.objects.all(), many=True, default=None)

class Meta:
    model = User
    fields = ['email', 'roles', 'phone']

rolemodel.py

class Role(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100, blank=False, null=False)
    is_deleted = models.BooleanField(default=False, null=False)

class Meta:
    db_table = "role"
    

roleserializer.py

class RoleSerializer(serializers.ModelSerializer):

class Meta:
    model = Role
    fields = ['id', 'name', 'description']
Вернуться на верх