Атрибут OneToOneField связывает идентификатор вместо CharField - PullRequest
0 голосов
/ 25 января 2019

У меня есть две эти модели, связанные с OneToOneField

Класс "Отец":

from django.db import models


class EmpresaManager(models.Manager):
    def create_empresa(self):
        empresa = self.create()
        return empresa


class Empresa(models.Model):
    codigo = models.CharField(max_length=3, null=False, default='000')
    nombre = models.CharField(max_length=100, null=False, default='Sin nombre')
    email = models.EmailField(null=False, default='email@empresa.com')
    direccion = models.CharField(max_length=100, null=False, default='Sin direccion')
    localidad = models.CharField(max_length=100, null=False, default='Sin localidad')
    codDgi = models.SmallIntegerField(null=True)
    docDgi = models.CharField(max_length=13, null=True)
    sIva = models.CharField(max_length=1, null=True, default='1')
    mesCierre = models.IntegerField(null=True, default=0)
    fecIni = models.DateField(null=True)
    ruca = models.IntegerField(null=True)
    novedad = models.CharField(max_length=50, null=True, default='')
    fecNovedad = models.DateTimeField(null=True)
    ultVersion = models.CharField(max_length=20, null=True, default='')
    logo = models.ImageField(null=True)
    habilitado = models.CharField(max_length=1, null=True, default='S')
    codEmpresa = models.CharField(max_length=3, null=True)
    codComp = models.CharField(max_length=3, null=True, default='')

    def __str__(self):
        return "%s" % self.nombre

    objects = EmpresaManager()

И другой класс:

from django.db import models
from Empresa.models import Empresa


class UsuarioManager(models.Manager):
    def create_usuario(self):
        usuario = self.create()
        return usuario


class Usuario(models.Model):
    empresa = models.OneToOneField(
        Empresa,
        on_delete=models.CASCADE,
        primary_key=False,
    )
    codigo = models.CharField(max_length=10, null=False, default='Sin cod')
    nombre = models.CharField(max_length=50, null=True)
    puesto = models.CharField(max_length=50, null=True)
    password = models.CharField(max_length=100, null=True)
    rol = models.CharField(max_length=15, null=True, default='')
    habilitado = models.CharField(max_length=1, null=True, default='S')

    def __str__(self):
        return self.nombre

    objects = UsuarioManager()

Проблема: я 'Я пытаюсь Usuario.empresa унаследовать значение от Empresa.nombre (который является CharField, например, 'McDonalds'), но он наследует значение идентификатора строки Empresa вместо и я не могу понять почему.Какие-либо предложения?Большое спасибо!

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