Представьте, что у вас есть модель, подобная той, что приведена ниже. На каждой странице музыканта вы хотите показать других музыкантов, у которых есть тот же агент.Стратегия для взаимодействия экземпляров той же модели
class Musician(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
agent = models.ForeignKey(Agent)
Кроме того, вы хотите запустить метод, который будет отображаться на странице музыканта. Метод определяет сходство между текущим экземпляром и всеми соответствующими экземплярами, которые используют один и тот же агент.
def similarity(self, other_instance)
...
return similarity
Таким образом, шаблон необходимо следующее:
- Подробная информация о текущем музыканта
- Подробная информация о связанных музыкантов и их сходство с текущим музыкантом
Есть Есть Django- одобренный подход к решению этой проблемы? Имеет ли смысл использовать классные представления для такой проблемы? "Шоу других музыкантов, которые имеют один и тот же агент"
Что у вас есть? Это выглядит довольно прямолинейно – karthikr
Мой главный вопрос - где и как назвать функцию «подобия». Например, должен ли он быть метод, вызываемый в конкретном экземпляре? В этом случае мне нужно будет запустить набор запросов в экземпляре модели. Я не был уверен, что это приемлемая практика. В качестве альтернативы я мог бы назвать функцию «подобия» в представлении? Мой главный вопрос - понять, как следует использовать функцию подобия, особенно учитывая, что она должна знать о связанных случаях. – inperspective