Я давно не обновляю свои навыки Django, но насколько я помню, вы можете использовать другой способ обойти эту проблему, например:
if Entry.objects.filter(username=self.username).exists():
# DO IF STUFF
else:
# DO ELSE STUFF
Если ваше имя пользователя неключом pk, тогда вам, возможно, придется установить его как уникальное , и это предотвратит дублирование имен пользователей.
Официальная ссылка на Django
Но естьчто-то, что я думаю о том, как вы используете переменную self.username.Кажется, у вас есть какой-то класс, где вам нужно сделать такую функциональность.И я боюсь, что этот мир кода, который у вас есть, находится в том же объявлении модели класса. В зависимости от типа запроса, который вы хотите выполнить, вам следует помнить следующее:
Если вы хотите проверитькакое-то имя пользователя, которое еще не было вставлено в базу данных, тогда у него не будет pk, и вы не сможете искать такие данные в базе данных.Вызывая его перед .save (), некоторые из этих ошибок могут произойти.
Надеюсь, это поможет вам.