Django: Разумно ли использовать объекты в качестве ключей словаря?

Разумно ли использовать объекты в качестве ключей к словарю в django? Я так и сделал, и это работает. Но мне интересно, будет ли это наилучшей практикой или возникнут трудности, которые я не предвижу прямо сейчас.

Я работаю над проектом, который касается образовательных стандартов. У меня есть словари со структурой типа {Тема: [Стандарты]} . Модель для субъекта выглядит примерно так:

class Subject(models.Model):
  subject = models.CharField(max_length=255, unique=True)

  def __unicode__(self):
    return self.subject

Можно ли использовать объекты из этой модели в качестве ключей к моим словарям, или я должен использовать вместо этого строковое представление, такое как Subject.subject?

Если да, то можно ли. метод юникода влияет на это? Когда я попытался использовать Subject.subject в качестве ключа, я получил что-то вроде {u'Math ': []} Используя объекты в качестве ключей, это выглядит как {: []}

Это продолжение вопроса, который я вчера задал о с использованием None в качестве словарного ключа .

6
задан Community 23 May 2017 в 11:51
поделиться