Django DRF Поле пользовательской модели пользователя "updated" (последний вход) не обновляется при входе в систему
У меня проблема с полями пользователя "создан" и "обновлен". Во-первых, в админке есть поле "Last login" (я предполагаю, что оно представляет собой "updated"), которое всегда пустое. Поле для "создан", похоже, отсутствует. Во-вторых, "Создано" и "обновлено" действительно инициируются с датой создания учетной записи, однако они не обновляются при входе в систему.
Я использую Django 4.0
RegisterSerializer
class RegisterSerializer(UserSerializer):
password = serializers.CharField(max_length=128, min_length=8, write_only=True, required=True)
email = serializers.EmailField(required=True, write_only=True, max_length=128)
class Meta:
model = User
fields = ['id', 'username', 'email', 'password', 'is_active', 'created', 'updated', 'testfield']
def create(self, validated_data):
try:
user = User.objects.get(email=validated_data['email'])
except ObjectDoesNotExist:
user = User.objects.create_user(**validated_data)
return user
Модель пользователя
class User(AbstractBaseUser, PermissionsMixin):
id = models.AutoField(primary_key=True)
username = models.CharField(db_index=True, max_length=255, unique=True, blank=True)
email = models.EmailField(db_index=True, unique=True, null=True, blank=True)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
testfield = models.CharField(max_length=255, blank=True)
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = ['username']
objects = UserManager()
def __str__(self):
return f"{self.email}"
UserSerializer
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['id', 'username', 'email', 'is_active', 'created', 'updated']
read_only_field = ['is_active', 'created', 'updated']
Я следовал этому руководству для настройки пользователя https://dev.to/koladev/build-a-crud-application-using-django-and-react-5389