Django:数据库表中未显示用作外键引用的ManytoManyField

问题描述

我将ManytoManyfield用作“公司”模型中另一个模型的外键引用,但是当我查询公司表时,数据库中未显示多对多字段。我期待至少该键的参考号。但是显示了其他使用的外键。

"""
Company Model
"""
class Company(models.Model):
    # choice fields
    STATUS = [
        ('active','Active'),('inactive','Inactive'),('blocked','Blocked'),('deleted','Deleted'),]

    ACCOUNT_TYPE = [
        ('distributor','Distributor'),('personal','Personal'),('retailer','Retailer'),('point','Point'),('manufacturer','Manufacturer')   
    ]

    companyID = models.AutoField(primary_key=True,verbose_name='Company ID')
    companyAccountType = models.CharField(max_length=15,choices=ACCOUNT_TYPE,verbose_name='Acc. Type')
    companyStatus = models.CharField(max_length=10,choices=STATUS,default='active',verbose_name='Status')
    
    companyDetailTagLine = models.TextField(max_length=255,verbose_name='Tagline',null=True,blank=True)
    businessType = models.ManyToManyField(
                        BusinessType,verbose_name='Business Types',blank=True,related_name='businessTypes2',)

此处businessType是来自BusinessType模型的外键引用

"""
Business Type Model
"""
class BusinessType(models.Model):
    businessTypeID = models.AutoField(primary_key=True,verbose_name='ID')
    businessTypeLabel = models.CharField(max_length=100,verbose_name='Title')
    businessTypeDesc = models.TextField(verbose_name='Desc')
    businessTypeImg = models.CharField(max_length=1000)

我正在尝试使用CompanyDetail模型中也存在companyDetailBusinessType的数据来更新Company模型。尽管我已经成功更新了其他值,但无法更新businessType。有什么方便的方法可以用SQL更新manytomanyfield?预先感谢。

class CompanyDetail(models.Model):
    def all_values(self,obj,company_userinfo):
        data = {
            # 'companyDetailID':obj.companyDetailID,'fk_companyDetail_companyID':obj.fk_companyDetail_companyID.companyID,'companyDetailName':obj.companyDetailName,'companyDetailTagLine':obj.companyDetailTagLine,'companyDetailBusinessType':obj.companyDetailBusinessType.all().values_list('businessTypeID',flat = True),}


    
        return data


    companyDetailID = models.AutoField(primary_key=True,verbose_name='ID')
    fk_companyDetail_companyID = models.OneToOneField('Company',related_name='companyDetail_company_relation',on_delete=models.CASCADE,verbose_name='Company'
                    )
    companyDetailName = models.CharField(max_length=100,verbose_name='Name')
    companyDetailTagLine = models.TextField(max_length=255,blank=True)
    companyDetailBusinessType = models.ManyToManyField(
                        BusinessType,related_name='businessTypes'
                    )
    fk_companyDetail_districtID = models.ForeignKey('District',related_name='companyDetail_district_relation',verbose_name='District'
                    )
    fk_companyDetail_upazilaID = models.ForeignKey('Upazila',related_name='companyDetail_upazila_relation',verbose_name='Upazila'
                    )

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...