django - django-export 数据真实值而不是foreign_id
问题描述
plz你能告诉我如何在django中将数据foreign_id而不是真实值导出为excel文件吗
学生.py
class Students(models.Model):
MY_CHOICES = (
('m', 'male'),
('f', 'female'),
)
first_name = models.CharField(max_length=50,unique=False)
last_name = models.CharField(max_length=50,unique=False)
date_of_birth = models.DateField(null=True,blank=True,)
gender = models.CharField(max_length=10,choices=MY_CHOICES)
school= models.ForeignKey(school, on_delete=models.CASCADE)
date_added =models.DateTimeField(auto_now_add=True,null=True,blank=True,)
def __str__(self):
return self.first_name + ' ' + self.last_name
class Meta:
verbose_name = 'Student'
管理员.py
from school.models import School,fields
class StudentsResource(resources.ModelResource):
class Meta:
model = Students
school= fields.Field(id='school',attribute='school',widget=widgets.ForeignKeyWidget(School, 'school'))
学校.py
class School(models.Model):
school= models.CharField(max_length=50,unique=True,)
'''
Thank you for your help
[excel file]
https://i.stack.imgur.com/aLGZM.png
解决方案
您可以使用 django 的双下划线符号来访问相关字段。
所以这个例子适用于相关模型上的学校名称,假设一个学校实例有一个名字;
class StudentResource(resources.ModelResource):
class Meta:
model = Student
fields = ('school__name',)
推荐阅读
- python - Connecting to Neo4j database after importing CSV
- mysql - 连接多个sql表以找到共同值
- c++ - 将文本文件中的成绩读入数组 C++
- excel - Excel 将多个单元格组合成一个数组作为公式中的变量输入
- r - 带有 sf 地图和替代 crs 的背景图像
- command-line - 批量缩小 GB 大小的 TIF 图像
- arrays - 反应状态数组不更新
- statistics - MDX 逆正态分布
- python - 将列表传递给 Python 函数
- .net-core - 在 net core 2.0 类库中找不到 System.Net.Http