Когда я запускаю migrate, поле uuid обновляется всегда, это дает мне некоторые проблемы с производительностью, может ли кто-нибудь объяснить мне причину и решение?
class Customer(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE,blank=True,null=True)
activate_token = models.CharField(max_length=200,default=str(uuid.uuid4()))
forget_password_token = models.CharField(max_length=200,default=str(uuid.uuid4()))
first_name = models.CharField(max_length=100,blank=True,null=True)
last_name = models.CharField(max_length=100,blank=True,null=True)
status = models.CharField(max_length=100,blank=True,null=True)
email = models.CharField(max_length=100,blank=True,null=True)
gender = models.CharField(max_length=50,blank=True,null=True)
city = models.CharField(max_length=100,blank=True,null=True)
country = models.CharField(max_length=100,blank=True,null=True)
Accounts\migrations\0010_alter_customer_activate_token_and_more.py
- Alter field activate_token on customer
- Alter field forget_password_token on customer
Migrations for 'Store':
Store\migrations\0004_product_shipping_charges_alter_product_price.py
- Add field shipping_charges to product
- Alter field price on product
У меня есть модель клиента, в которой я храню две вещи: токен активации пользователя и токен забытого пароля. Я хочу, чтобы они были случайными, поэтому я использовал uuid, но когда я запускаю migrate, эта миграция всегда происходит. Кстати, я не сталкиваюсь с функциональными ошибками, все работает нормально, но у меня есть ощущение, что это может дать мне ошибку
Просто замените вызов функции uuid4 на callable (то есть без скобок), и Django поймет, что uuid должен оставаться постоянным.
forget_password_token = models.CharField(max_length=200,default=str(uuid.uuid4))