第一个app下的model
from django.contrib.auth.models import AbstractUser
from django.db import models
# Create your models here.
#用户表
class UserInfo(AbstractUser):
telephone=models.CharField(max_length=11,verbose_name='手机号',null=True,help_text='11位电话号码')
gender_choice=(
(0,'女'),
(1,'男')
)
gender=models.IntegerField(choices=gender_choice,verbose_name='性别',null=True,)
introduction=models.CharField(max_length=100,verbose_name='个人简介',null=True,)
icon=models.ImageField(verbose_name='头像',upload_to='img/',null=True,)
class Meta:
db_table = '用户表'
verbose_name = '用户'
verbose_name_plural = verbose_name
def __str__(self):
return self.username
第二个app下的model
from users.models import UserInfo
#用户专栏分类表
class Category(models.Model):
name=models.CharField(max_length=10,help_text='最大字符10字符',verbose_name='专栏名',unique=False,null=True)
user=models.ForeignKey(verbose_name='用户',to='UserInfo',related_name='category',on_delete=models.CASCADE)
class Meta:
db_table = '用户专栏表'
verbose_name = '用户专栏'
verbose_name_plural = verbose_name
def __str__(self):
return self.name
执行迁移的时候,报错
原因:
并没有真正的引用另一个app下的UserInfo模型类,因为如果在模型类的关系字段声明to=模型类名的时候,你加上引号,就表示在本model中的模型类,因此,这个时候我们应该把引号去掉,就可以迁移成功了。