Django: Standardwert des Felds aus den Instanzen des Selbstmodells

Wie kann ich einen Standardwert für ein Feld festlegen, das aus vorhandenen Objekten eines Modells entnommen werden soll?

Ich habe diese ausprobiert und es hat nicht funktioniert:

1)

class ModelA(models.Model):
    fieldA = models.CharField(default=self.get_previous())

    def get_previous(self):
        return ModelA.objects.all()[0].fieldA

NameError: name 'self' is not defined

2)

class ModelA(models.Model):
    fieldA = models.CharField(default=ModelA.get_previous())

    @staticmethod
    def get_previous():
        return ModelA.objects.all()[0].fieldA

NameError: name 'ModelA' is not defined

3

class ModelA(models.Model):
    fieldA = models.CharField(default=get_previous())

def get_previous():
    return ModelA.objects.all()[0].fieldA

NameError: global name 'get_previous' is not defined

4)

def get_previous():
    return ModelA.objects.all()[0].fieldA

class ModelA(models.Model):
    fieldA = models.CharField(default=get_previous())

NameError: global name 'ModelA' is not defined

I es ist klar, warum 3) und 4) nicht funktionieren. Ich kann mir vorstellen, warum 1) nicht funktioniert - es sieht so aus, als ob Klasseneigenschaften nicht auf Instanzen verweisen können (d. H. Auf sich selbst). Ich kann mir vorstellen, warum 2) nicht funktioniert - anscheinend gibt es keinen Hinweis auf ModelA, bis der Dolmetscher die ganze Klasse durchläuft.

So wie soll ich das angehen?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage