Ich war im Ergebnis this question die Suche nach einem bestimmten Verfahren zu einem Modell Eintrag auf der Verknüpfung, aber nicht sicher, dass die Lösung am Ende verwendet wird, ist die elegante ...Link-Funktion zu einem Modell Eintrag
Ich mag Sie haben eine Art Zeiger auf eine bestimmte Methode von einem Modelleintrag in der Datenbank. Dies ist meine Idee, wie es geht, aber es scheint abit klobig:
class Results(models.Model):
result_ref = models.CharField(...)
result_name = models.CharField(...)
result_unit = models.CharField(...)
def result_1_method():
return "My custom result for entry 1"
...
>>> results_map = {1: result_1_method, 2: result_2_method, ...}
>>> required_result = Results.objects.get(results_ref='XAY')
>>> required_result_method = results_map[required_result.id]
>>> result = required_result_method()
Gibt es eine bessere oder häufiger verwendete Lösung? Wie zum Beispiel eine Methode als Teil des DB-Eintrags speichern? Danke :)
Ja ich sehe was du meinst. Ihr Beispiel ist gut, weil es mir erlaubt, den gesamten Code innerhalb der Modellklasse zu behalten, aber wenn ich viele Instanzen habe, wird es ziemlich groß! – DrBuck
Ja, das stimmt. Ich schätze, es hängt nur von den Umständen ab –