django新增模型类报错--跨应用新增多对多表报错--django如何跨应用新增多对多表

标题1、跨应用新增多对多表:

#当前应用dataCtrl,TSlide在当前应用,TAccount在user应用
from user.models import TAccount

class UserCollectSlide(models.Model):
    id = models.AutoField(primary_key = True)
    tslide = models.ForeignKey(to='TSlide',on_delete=models.CASCADE,db_constraint=False,related_name='collect')
    user = models.ForeignKey(to='TAccount',on_delete=models.CASCADE,db_constraint=False,related_name='collect')
    create_time = models.DateTimeField(auto_now_add=True)
    class Meta:
        managed = True
        db_table = 't_user_collect_slide'

标题2、报错内容:

SystemCheckError: System check identified some issues:

ERRORS:
dataCtrl.UserCollectSlide.account: (fields.E300) Field defines a relation with model 'TAccount', which is either not installed, or is abstract.
dataCtrl.UserCollectSlide.account: (fields.E307) The field dataCtrl.UserCollectSlide.account was declared with a lazy reference to 'dataCtrl.taccount', but app 'dataCtrl' doesn't provide model 'taccount'.

标题3、如何解决:

外键使用:app名.模型类名


当前应用在dataCtrl: TSlide在当前应用,TAccount在user应用中
#多对多关系表改为下面
class UserCollectSlide(models.Model):
    id = models.AutoField(primary_key = True)
    tslide = models.ForeignKey(to='TSlide',on_delete=models.CASCADE,db_constraint=False,related_name='collect')
    user = models.ForeignKey(to='user.TAccount',on_delete=models.CASCADE,db_constraint=False,related_name='collect')
    create_time = models.DateTimeField(auto_now_add=True)
    class Meta:
        managed = True
        db_table = 't_user_collect_slide'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值