Django benutzerdefiniertes Benutzerfeld kollidiert mit AbstractBaseUser

Ich baue ein Django-Projekt aus einer vorhandenen Datenbank auf. Die Datenbank wird von anderen Systemen verwendet, daher kann ich ihr Schema nicht ändern. Dies ist mein aktuelles benutzerdefiniertes Benutzermodell:

class Users(AbstractBaseUser):
    id_user = models.IntegerField(primary_key=True)
    role = models.IntegerField()
    username = models.CharField(max_length=50, unique=True)
    last_login_date = models.DateTimeField()

AbstractBaseUser benötigt eine Spalte mit dem Namenlast_login, während die aktuelle Datenbanktabelle @ hlast_login_date Spalte, die wie @ dieAbstractBaseUser.last_login. Jetzt muss ich diese Spalte in @ verwendUsers.last_login:

    ...
    last_login = models.DateTimeField(_('last login'), default=timezone.now, column_name='last_login_date')
    ...

Allerdings würde Django werfendjango.core.exceptions.FieldError: Local field 'last_login' in class 'Users' clashes with field of similar name from base class 'AbstractBaseUser' da Django das Überschreiben von Elternfeldern nicht erlaubt.

Wie werden die Felder gesetzt?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage