добавить новый атрибут из другой модели в модель пользователя - PullRequest
0 голосов
/ 22 июня 2019

У меня есть структурная модель с id и name_structure, и я хочу, чтобы при добавлении пользователя я влиял на них в одной структуре, например, на имя пользователя john password.в Django, пожалуйста, помогите мне?

this models.py в приложении immob

from django.db import models
# Create your models here.
class structure(models.Model):
    structure_code=models.CharField(max_length=1)
    structure_desig=models.CharField(max_length=350)
    class service(models.Model):
    structure_id=models.ForeignKey(structure,on_delete=models.CASCADE,default=0)
    service_desig=models.CharField(max_length=350)

и эта модель полного приложения (аккаунт)

# Create your models here.
from immob.models import structure
from django.db import models
from django.contrib.auth.models import User

class utilisateur(models.Model):
    user=models.OneToOneField('auth.User', on_delete=models.CASCADE)
    structure=models.ForeignKey(structure,on_delete=models.CASCADE)

1 Ответ

0 голосов
/ 22 июня 2019

мы думаем, что у вас есть все данные в определенном представлении в view.py или где-либо еще, затем мы можем создать или получить пользователя, плюс создать или получить экземпляр структуры, затем мы можем создать новый экземпляр utilisateur:

from immob.models import Structure
from compte.models import Utilisateur

def adding_utilisateur(request):
   .
   .
   .
   # we assume you have data as we need to create or get a new user/structure
   new_user = User.objects.create_user(userName, userMail, userPass)
   new_user.save() # new user is ready
   new_structure,create = Structure.objects.get_or_create(
                                      structure_code=ValueOfStructerCode,
                                      structure_desig=ValueOfStructtureDesign)
   if create : 
       new_structure.save()  # we have our structure instance too

   # time to create a Utilisateur's instance
   new_utilisateur.objects.create(structure=new_structure, user=new_user)
   new_utilisateur.save() # done!

пытается найти то, что вы хотите.

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