から__str__メソッドを「無視」しながら、インポートする方法: - これは単なる基本的なコードであることに注意してください - admin.pyでジャンゴ・輸出入 - 私は、次のモデル持っているモデル
class Code(models.Model):
project = models.ForeignKey(Project, on_delete=models.CASCADE)
code = models.CharField(max_length=3)
variant = models.CharField(max_length=1)
class Meta:
unique_together = ('project', 'code', 'variant',)
def __str__(self):
return self.code + self.variant
私のコードを実行しModelResourceを使用しない - ModelResourceメソッドを使用してモデルからstrメソッドを "処理"しようとする試みは成功していません。
from django.contrib import admin
from import_export.admin import ImportMixin
class CodeAdmin(ImportMixin, admin.ModelAdmin):
list_display = ('Code', 'Variant')
admin.site.register(Code, CodeAdmin)
インポートしよう - 管理者を使用して - 私は、コードモデルのSTR方法の結果として、次のエラーを取得します。
Line number: 1 - unsupported operand type(s) for +: 'int' and 'str'
None, 1, 700, a
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\import_export\resources.py", line 464, in import_row
row_result.object_repr = force_text(instance)
File "C:\Python34\lib\site-packages\django\utils\encoding.py", line 76, in force_text
s = six.text_type(s)
File "C:\GitHub\WebApps\sidProject\sidApp\models.py", line 58, in __str__
return self.Code + self.Variant
TypeError: unsupported operand type(s) for +: 'int' and 'str'
私の質問 - 私はこのケースでSTRを "無視" するにはどうすればよいです。それはそれは以下のModelResourceコードを使用してジャンゴ・輸出入のサンプルコードで行われているが、私はそれは私に私のケースを動作させることができなかったようだ。
def for_delete(self, row, instance):
return self.fields['name'].clean(row) == ''
任意のヘルプまたは私は意志を逃したことをどこかの例感謝する。
ありがとうございました