작성한 사용자와 수정하는 사용자를 내 클래스에 추가하고 싶습니다. 오류가 발생 했으므로 여러 방법을 시도했습니다.이 중 마지막 시도입니다.django models.py의 사용자 모델을 어떻게 관련시켜야합니까?
내가 사용하는 올바른 방법이 있습니까?
from django.db import models
from django.conf import settings
def userDefault():
return settings.AUTH_USER_MODEL
class Ambito(models.Model):
nombre = models.CharField(max_length=150, verbose_name="Ambito")
usuarioCreacionAmbito = models.ForeignKey(settings.AUTH_USER_MODEL,related_name="usuarioCreacionAmbito", default=userDefault)
usuarioModificacionAmbito = models.ForeignKey(settings.AUTH_USER_MODEL, related_name="usuarioModificacionAmbito", default=userDefault)
fechaCreacion = models.DateTimeField(auto_now_add=True)
fechaModificacion = models.DateTimeField(auto_now=True)
def __str__(self):
return u"%s" % self.nombre
class Componentes(models.Model):
nombre = models.CharField(max_length=150)
ambito = models.ForeignKey(Ambito)
obligatorio = models.BooleanField(default=False)
usuarioCreacionComponentes = models.ForeignKey(settings.AUTH_USER_MODEL, related_name="usuarioCreacionComponentes", default=userDefault)
#usuarioModificacionComponentes = models.ForeignKey(settings.AUTH_USER_MODEL, related_name="usuarioModificacionComponentes", default=userDefault)
fechaCreacion = models.DateTimeField(auto_now_add=True)
fechaModificacion = models.DateTimeField(auto_now=True)
def __str__(self):
return u"%s" % self.nombre
class Caracteristicas(models.Model):
nombre = models.CharField(max_length=200)
componentes = models.ForeignKey(Componentes)
usuarioCreacionCaracteristicas = models.ForeignKey(settings.AUTH_USER_MODEL, related_name="usuarioCreacionCaracteristicas", default=userDefault)
usuarioModificacionCaracteristicas = models.ForeignKey(settings.AUTH_USER_MODEL, related_name="usuarioModificacionCaracteristicas", default=userDefault)
fechaCreacion = models.DateTimeField(auto_now_add=True)
fechaModificacion = models.DateTimeField(auto_now=True)
def __str__(self):
return u"%s" % self.nombre
class Verificadores(models.Model):
nombre = models.CharField(max_length=200)
caracteristicas = models.ForeignKey(Caracteristicas)
usuarioCreacionVerificadores = models.ForeignKey(settings.AUTH_USER_MODEL, related_name="usuarioCreacionVerificadores", default=userDefault)
usuarioModificacionVerificadores = models.ForeignKey(settings.AUTH_USER_MODEL, related_name="usuarioModificacionVerificadores", default=userDefault)
fechaCreacion = models.DateTimeField(auto_now_add=True)
fechaModificacion = models.DateTimeField(auto_now=True)
def __str__(self):
return u"%s" % self.nombre
이 오류
ValueError: invalid literal for int() with base 10: 'auth.User'
어쩌면 내가 잘못, 내 목표는 사용자가 무언가를 추가 할 때마다 사용자의 값을 설정하는 것입니다 설명이다가, 내 말은, 사용자에 행을 추가 할 때
name='Juan', last='perez'
,369 : 내가있는 행을 추가하는 경우
을 : 데이터베이스는 자동으로 다음과 같은 행을 추가하려면 사용자를 저장
는 내 모델은 문제가 당신이 행해져 Yout 외래 키 기본 값으로 (기본적으로 'auth.User'이다) settings.AUTH_USER_MODEL을 할당하는 것입니다
name='Juan', last='perez', user=userId
당신이 시도해야하는 것은, 당신이 django.contrib.auth.models에서'User' 모델 '로 User'를 가져올 연결하여 사용해야이 – abhishekgarg
@abhishekgarg 아니, 그건 문제가 아니야. FK로 AUTH_USER_MODEL을 사용하면 올바른 값으로 사용됩니다. –
흠 .. 그게, 고마워, – abhishekgarg