Я работаю с приложением django 2.0 и собираюсь обновить django версию до 3.0. Но в моем проекте есть несколько пользовательских разрешений, таких как view_modelname .
class MyConcreteModel(models.Model):
model_field_1 = models.CharField(max_length=100, blank=False)
# other fields
class Meta:
permissions = (
("view_myconcretemodel", "Can see available device interfaces"),
)
В django 3 (начиная с версии 2.1) такие разрешения разрешены по умолчанию. Итак, у меня возник конфликт с именами разрешений.
Теперь я пытаюсь переименовать пользовательские разрешения перед обновлением django версии.
class MyConcreteModel(models.Model):
model_field_1 = models.CharField(max_length=100, blank=False)
# other fields
class Meta:
permissions = (
("user_view_myconcretemodel", "User can see available device interfaces"),
)
После миграции в БД были созданы «новые» (с новыми именами) разрешения. Но старые разрешения все еще существуют, и у всех пользователей есть старые разрешения (со старыми именами, такими как view_myconcretemodel ). Очевидно, мне нужны «новые» разрешения для всех пользователей.
Есть ли возможность просто переименовать разрешения или дать «новые» разрешения соответствующим пользователям (в соответствии со «старыми» разрешениями) и сделать это автоматически?