Спасибо за оба ваших ответа. Я объединил оба ваших ответа в одно ... свойство с таким фильтром:
def _get_blue_shirts(self):
if self.shirtclr.filter(shirtcolor='Blue'):
return '%s%s' % ('B', self.shirtmodel)
else:
return self.shirtmodel
blue_shirts=property(_get_blue_shirts)
Хотя этот подход определенно работает, я вижу проблемы с ним, как я их написал. Во-первых, я хотел бы найти в админе, например, «B13A» в качестве модели рубашки, и он должен понять, что я имею в виду рубашку «13A», доступную с синим в качестве одного из ее цветов. Поскольку кажется, что ModelAdmin.search_fields необходимо преобразовать в фактическое поле, этот подход не работает в этом отношении (поправьте меня, если я ошибаюсь). Другая проблема, с которой я сталкиваюсь, - это свойство, которое кажется очень сложным для SQL ... выполнение отдельного выбора для каждой строки (тогда как для выделенного столбца просто потребуется общий выбор ... опять же, исправьте меня, если я ошибаюсь). Любые идеи относительно того, как я мог бы решить эти проблемы? Возможно, я мог бы пойти другим путем?
PS. Антоний ... Я попробовал пересмотренную переопределенную функцию save () и все еще получил сообщение об ошибке «Экземпляр ShirtClass должен иметь значение первичного ключа, прежде чем можно будет использовать отношение многие ко многим». Я что-то здесь не так делаю?
Много, Много, Большое спасибо всем,
-bkev