Django导入导出ManyToManyWidget字段在导出中显示为空白

问题描述

我有以下模型和 M2M 关系:

class Market(models.Model):
    marketname = models.CharField(max_length=500)
    market_id = models.CharField(max_length=100,blank=True)

    def __str__(self):
        return self.marketname


class TeamMember(models.Model):
    firstname = models.CharField(max_length=100,default= "First Name")
    lastname = models.CharField(max_length=100,default= "Last Name")
    email = models.EmailField(max_length=254)

    def __str__(self):
        return self.email

class EmailReport(models.Model):
    name = models.CharField(max_length=1000)
    recipients = models.ManyToManyField('team.TeamMember',related_name="teamrecipients")
    frequency = models.CharField(max_length=1000,blank= True)
    markets = models.ManyToManyField('opportunities.Market',blank=True)
    def __str__(self):
        return self.name

以下是我用于 EmailReport 注册的 admin.py。

class EmailReportResource(resources.ModelResource):
    recipients = fields.Field(widget=ManyToManyWidget(TeamMember,field="email"))
    markets = fields.Field(widget=ManyToManyWidget(Market,field='marketname'))
    class Meta:
        model = EmailReport
        fields = ['id','name','recipients','markets']

class EmailReportAdmin(ImportExportModelAdmin):
    resource_class = EmailReportResource

admin.site.register(EmailReport,EmailReportAdmin)

我能够导出 - 并且所有字符字段都可以正常导出 - 但是,我的 M2M 字段都显示为空白。

谁能指出我的错误

非常感谢!

解决方法

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

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

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