Как импортировать данные из поля класса приложения в другое поле класса приложения Django

У меня возникла одна проблема, мне нужно сделать ERP приложение, которое сначала требует несколько данных от клиента, и в конечном итоге, больше данных должно быть включено в эту же клиентскую форму

Client models.py

class Cliente(models.Model):
    genero_choices = (
        ("M","Masculino"),
        ("F","Feminino"),
        ("O","Prefiro não dizer"),
    )
    client_id = models.AutoField(primary_key=True, editable=False)
    nome_cliente = models.CharField(max_length=500, null=False, blank=False)
    cpf = models.CharField(_('CPF'),max_length=15,null=True,blank=True)
    rg = models.CharField(_('RG'),max_length=15,null=True,blank=True)
    endereco = models.CharField(_('Endereço'),max_length=100,null=True,blank=True)
    procedencia = models.ForeignKey("Entrada", on_delete=models.RESTRICT, null=False,blank=False)
    telefone = models.CharField(_('Telefone'),max_length=18, null=False, blank=False)
    telefone2 = models.CharField(_('Telefone 2'),max_length=18, null=True, blank=True)
    email_cliente = models.EmailField(max_length=255)
    genero_cliente = models.CharField(max_length=1,choices=genero_choices)
    dt_cadastro = models.DateField(auto_now=True, null=False, blank=False)
    cliente_is_active = models.BooleanField(null=False, blank=False)
    anexos_cliente = models.FileField(blank=True,null=True)
    loja = models.ForeignKey(Loja,on_delete=models.RESTRICT, null=True,blank=True)
    vendedor_resp = models.ForeignKey(Funcionario,on_delete=models.RESTRICT, null=True,blank=True,limit_choices_to=Q(cargo=2))
    observacoes = models.CharField(_('Observações'),max_length=500,null=True,blank=True)
    
    def __str__(self):
        return f"{self.nome_cliente}"

Client admin.py

from clientes.models import Cliente,Entrada

# Clientes Admin

class ClienteAdmin(admin.ModelAdmin):
    list_display = ('nome_cliente', 'telefone','genero_cliente','procedencia', 'vendedor_resp','loja','observacoes')

Мне нужно импортировать большую часть класса models.py Cliente в другой appm, который выглядит следующим образом:

Comercial models.py

class Simulacao (models.Model):
    contrato_choices = (
        ("Normal","Normal"),
        ("Futura","Futura"),
        ("Mostruario","Produto de Mostruário"),
    )
    forma_pag_choices = (
        ("Cartão de Crédito","Cartão de Crédito"),
        ("Cartão de Débito","Cartão de Débito"),
        ("Cheque","Cheque"),
        ("Dinheiro","Dinheiro"),
        ("Boleto Financeira","Boleto Financeira"),
        ("Boleto Loja","Boleto Loja"),
        ("Boleto ElevenCred","Boleto ElevenCred"),
        ("Transferência PIX","Transferência PIX"),
        ("Transferência DOC","Transferência DOC"),
        ("Transferência TED","Transferência TED")
    )
    parcelamento_lista = []
    for i in range(1,37):
        parcelamento_lista.append((f"1 + {i}",f"1 + {i}"))
    for i in range(1,37):
        parcelamento_lista.append((f"S/ Entrada + {i}",f"S/ Entrada + {i}"))
    forma_pg_tuple = tuple(parcelamento_lista)

    cliente = models.OneToOneField(Cliente,on_delete=models.CASCADE)
    total_proposta = models.CharField(_('Total da Proposta'),max_length=20,null=True,blank=True)
    desconto_max = models.CharField(_('Desconto Máximo'),max_length=20,null=True,blank=True,)
    tipo_contrato = models.CharField(_('Tipo de Contrato'),choices=contrato_choices,null=True,blank=True,max_length=100)
    forma_pag = models.CharField(_('Forma de Pagamento'),choices=forma_pag_choices,max_length=50,null=True,blank=True)
    parcelamento = models.CharField(choices=parcelamento_lista,max_length=500,null=False,blank=False)
    anexo_xml = models.FileField(_('Anexo do XML'),null=True,blank=True,validators=[FileExtensionValidator(allowed_extensions=['xml'])])
    brinde_desc = models.CharField(_('Descrição do Brinde'),max_length=300,null=True,blank=True)
    brinde_valor = models.CharField(_('Valor do Brinde'),max_length=20,null=True,blank=True)
    arquiteto_nome = models.CharField(_('Nome do Arquiteto'),max_length=500,null=True,blank=True)
    arquiteto_comissao = models.CharField(_('Comissão do Arquiteto'),max_length=20,null=True,blank=True)

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

Некоторые из этих полей должны быть доступны только для чтения, а другие - для редактирования.

Вернуться на верх