Python Django OneToOne字段到用户编程错误
我尝试先使用OneToOneField关系向用户添加一个ManyToOneField。这是我的密码:Python Django OneToOne字段到用户编程错误,python,django,django-models,Python,Django,Django Models,我尝试先使用OneToOneField关系向用户添加一个ManyToOneField。这是我的密码: ENTERPRISE_TYPE_CHOICES = ( ('a', "A"), ('b', "B"), ('c', "C"), ) class Enterprise(models.Model): et_type = models.CharField( max_length = 10, choices=ENTERPRISE_TYPE
ENTERPRISE_TYPE_CHOICES = (
('a', "A"),
('b', "B"),
('c', "C"),
)
class Enterprise(models.Model):
et_type = models.CharField(
max_length = 10,
choices=ENTERPRISE_TYPE_CHOICES,
default='a'
)
name = models.TextField(max_length=100)
number = models.TextField(max_length=7)
def __str__(self):
return "%s %s %s" % (self.et_type, self.name, self.number)
class Secretaire(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
workshop = models.ManyToManyField(Enterprise)
@receiver(post_save, sender=User)
def create_user_secretaire(sender, instance, created, **kwargs):
if created:
Secretaire.objects.create(user=instance)
@receiver(post_save, sender=User)
def save_user_secretaire(sender, instance, **kwargs):
instance.profile.save()
然后在python manage.py shell中,我尝试:
from django.contrib.auth.models import User
u = User.objects.create(username="a", email="a@a.fr", password="a")
它抛出了一个错误:
编程错误:“帮助台\秘书”关系不存在
第1行:在“帮助台秘书”(“用户id”)中插入值(11)重新
(用户仍在创建中,但没有用户无法访问User.secretaire,它会抛出相同的错误)
你知道我为什么会出现这个错误吗?根据对原始问题的评论:你需要先运行
makemigrations
和migrate
。您收到的错误消息表明该表在数据库中不存在。是否确实进行了迁移和迁移?是否进行了迁移并运行了迁移?。。。谢谢。