簡體   English   中英

django-import-export :具有許多字段的外鍵

[英]django-import-export :ForeignKey with many fields

我只需要從我的管理員導出數據。 我的代碼現在看起來像:

models.py

 from django.db import models
from services.models import Services,PromoCodes,CauseOfReservedPromocodes
# Create your models here.

class User(models.Model):
    name=models.CharField(max_length=200)
    surname=models.CharField(max_length=200)
    email=models.EmailField()
    password=models.CharField(max_length=200)
   telephone=models.PositiveIntegerField(max_length=12,blank=True,null=True)
    userRequest=models.ForeignKey('UsersRequests', blank=True, null=True, on_delete=models.CASCADE)

    def __str__(self):
        return self.name + " " + self.surname


class UsersRequests(models.Model):
    date = models.DateField()
    requestChannel = models.CharField(max_length=30)
    problem = models.CharField(max_length=200)
    solution = models.CharField(max_length=200)

    def __unicode__(self):
        return str(self.date) + " " + str(self.requestChannel) + " " + str(self.problem) + " " + str(self.solution)

我的 admin.py 是:

from django.contrib import admin
from .models import User,UsersRequests
from import_export import resources, widgets, fields
from import_export.admin import ImportExportModelAdmin,ExportMixin

class UsersResource(resources.ModelResource):
 class Meta:
        model = User
        fields = ('id', 'name', 'email', 'telephone', 'userRequest')

class UserAdmin(ImportExportModelAdmin):
    resource_class = UsersResource

@admin.register(User)
class UserAdmin(ImportExportModelAdmin):
    search_fields = ('name', 'surname', 'email', 'telephone')

我盡一切努力讓 userRequest 工作,但它只發送整數 - userRequest 的 id。 如何從類 UsersRequests(models.Model) 中獲取完整數據?

您應該准確指向所有相關字段,例如:

class UsersResource(resources.ModelResource):
    class Meta:
        model = User
        fields = ('id', 'name', 'email', 'telephone',
        'userRequest__date', 'userRequest__problem')

@admin.register(User)
class UserAdmin(ImportExportModelAdmin):
    resource_class = UsersResource
    search_fields = ('name', 'surname', 'email', 'telephone')

等等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM