【发布时间】:2021-04-21 00:13:04
【问题描述】:
我的 Django 模型之间存在复杂的关系,我正在尝试让 django-import-export 正常运行。
class Person(models.Model):
name = models.CharField(max_length=64)
class Team(models.Model):
rep = models.ManyToManyField(Person, related_name="rep")
def get_reps(self):
return "/".join(sorted([p.name for p in self.reps.all()]))
class Account(models.Model):
tid = models.IntegerField("Territory ID", primary_key=True)
name = models.CharField("Territory Name", max_length=64)
sales_team = models.ForeignKey(Team, related_name="sales_team")
我正在尝试使用get_reps 方法呈现的代表名称导出(并希望稍后导入)区域。
class TerritoryResource(resources.ModelResource):
tid = fields.Field(attribute='tid', column_name="Territory ID")
name = fields.Field(attribute='name', column_name="Territory Name")
sales_team = fields.Field(
column_name="Sales Team",
widget=widgets.ForeignKeyWidget(Team, "get_reps")
)
导出给了我一个空白字段。如果我不使用小部件,我会按预期获得团队 ID。
是否可以在导出中获取我的自定义名称?
【问题讨论】:
标签: django django-import-export