У меня есть список объектов Python, смешанных с экземплярами модели Django, и мне нужно перегрузить оператор __eq__
в некоторых полях для фильтрации. Это работает нормально, пока я не столкнусь с ForeignKey
, который выдает ошибку из-за атрибута, принимающего только конкретный экземпляр модели.
Как я могу переопределить этот атрибут? Было бы неплохо даже удалить его, так как я не использовал его в шаблоне.
Причина этого шаблона заключается в том, что при определенных условиях мне бы хотелось, чтобы определенные атрибуты всегда соответствовали входящим параметрам поиска для каждого объекта (у меня есть шаблоны в объектах поиска, а не поисковый запрос). *
class AlwaysEqual(object):
def __eq__(self, a):
return True
for i in bag_of_objects:
if certain_conditions_met:
i.foo = AlwaysEqual()
# ValueError: Cannot assign "AlwaysEqual": "ProductFile.option1" must be a "ProductOptionValue" instance.
# is there a way to delete this attribute?
del i.foo
# AttributeError: __delete__