如何将主题名称分配给适当的字段
How to assign subject name to their proper field
我用过 django-import-export 包。并希望从 csv 格式的文件中获取相关数据库,
roll_no,student_name,subject_1_mark,subject_2_mark,....subject_n_mark
我很难将主题标记分配给 Django ORM 上的相应字段
示例:
#csv file
roll_no, student_name, FOCP, IT, OS, DS, DL
201,john,56,34,65,34,68
Models.py
class Student(models.Model):
""" Store Student Information """
student_name = models.CharField(max_length=255)
roll_no = models.IntegerField()
class Subject(models.Model):
""" Store Subject Information """
subject_name = models.CharField(max_length=150, null=True, blank=True)
sub_code = models.CharField(max_length=255, unique=True, null=True,blank=True)
class Exam(models.Model):
""" Store Exam Information """
exam_type = models.CharField(max_length=150, null=True, blank=True)
exam_date = models.DateField(null=True, blank=True)
class Mark(models.Model):
""" Store Mark Information """
subject_name = models.ForeignKey(Subject, related_name='marks', null=True, blank=True)
exam = models.ForeignKey(Exam, related_name='marks', null=True, blank=True)
mark = models.IntegerField(null=True, blank=True)
settings.py
INSTALLED_APPS = (
...
'import_export',
)
admin.py
from django.contrib import admin
from import_export.admin import ImportExportModelAdmin
from import_export import resources
from .models import Subject
class SubjectResource(resources.ModelResource):
class Meta:
model = Subject
class SubjectAdmin(ImportExportModelAdmin, admin.ModelAdmin):
resource_class = SubjectResource
admin.site.register(Subject, SubjectAdmin)
使用字段进行映射
Field represent mapping between object field and representation of this field.
我覆盖了 before_import
并对数据做了一些额外的逻辑来解决我的问题。我在 github https://github.com/django-import-export/django-import-export/issues/644#issuecomment-320966810
上打开了问题
我用过 django-import-export 包。并希望从 csv 格式的文件中获取相关数据库,
roll_no,student_name,subject_1_mark,subject_2_mark,....subject_n_mark
我很难将主题标记分配给 Django ORM 上的相应字段
示例:
#csv file
roll_no, student_name, FOCP, IT, OS, DS, DL
201,john,56,34,65,34,68
Models.py
class Student(models.Model):
""" Store Student Information """
student_name = models.CharField(max_length=255)
roll_no = models.IntegerField()
class Subject(models.Model):
""" Store Subject Information """
subject_name = models.CharField(max_length=150, null=True, blank=True)
sub_code = models.CharField(max_length=255, unique=True, null=True,blank=True)
class Exam(models.Model):
""" Store Exam Information """
exam_type = models.CharField(max_length=150, null=True, blank=True)
exam_date = models.DateField(null=True, blank=True)
class Mark(models.Model):
""" Store Mark Information """
subject_name = models.ForeignKey(Subject, related_name='marks', null=True, blank=True)
exam = models.ForeignKey(Exam, related_name='marks', null=True, blank=True)
mark = models.IntegerField(null=True, blank=True)
settings.py
INSTALLED_APPS = (
...
'import_export',
)
admin.py
from django.contrib import admin
from import_export.admin import ImportExportModelAdmin
from import_export import resources
from .models import Subject
class SubjectResource(resources.ModelResource):
class Meta:
model = Subject
class SubjectAdmin(ImportExportModelAdmin, admin.ModelAdmin):
resource_class = SubjectResource
admin.site.register(Subject, SubjectAdmin)
使用字段进行映射 Field represent mapping between object field and representation of this field.
我覆盖了 before_import
并对数据做了一些额外的逻辑来解决我的问题。我在 github https://github.com/django-import-export/django-import-export/issues/644#issuecomment-320966810