首页 > 解决方案 > 如何在 Django 管理界面中显示腌制集?

问题描述

我有一个模型,它有一个BinaryField,我用它来存储一组短字符串。它可能看起来不是最优雅的解决方案,但这是我现在必须使用的:

class Player(models.Model):
  player_id = models.CharField(max_length=32, primary_key=True)
  _awards = models.BinaryField(null=True)

  def set_awards(self, data):
    self._awards = pickle.dumps(data)

  def get_awards(self):
    return pickle.loads(self._awards)

该字段工作正常,我只想在管理界面中显示该 _awards 设置。我试过这个,但没有奏效:

class PlayerAdmin(admin.ModelAdmin):
  list_display = ('player_id')
  readonly_fields = ('_awards')

  def _awards(self):
    return self.get_awards()

我在管理界面中得到了这个,而不是一个列表,或者至少是一个字符串:

<memory at 0x105a81040>

标签: pythondjango

解决方案


推荐阅读