
Илья, доброго Вам дня!
Прошу прощения, что обращаюсь опять со своими вопросами...
Попробовал я все, что вы мне посоветовали.
Все переименовал, миграции сделал, появились пермишены как вы и говорили, но вот от разных ошибок я избавился (те которые были по недосмотру моему), но вот появилась такая ошибка и я ни как не могу найти ответов в инете по ее устранению:
UnboundLocalError: local variable 'fields' referenced before assignment
мой models.py:
class Article(models.Model): number_at = models.CharField('Номер заказа', max_length=20, default='') user = models.ForeignKey(User, on_delete=models.PROTECT, verbose_name='Имя Менеджера', blank=True, null=True) group_user = models.ForeignKey(Group, on_delete=models.PROTECT, verbose_name='Имя группы', null=True) created_at = models.DateTimeField('Дата создания заказа', auto_now_add=True) modified_at = models.DateTimeField('Дата внесения изменения', auto_now=True) contragent = models.CharField('Контрагент', max_length=50) delivery_address = models.CharField('Адрес поставки', max_length=80, default='') label = models.CharField('Наименование', max_length=50, default='') packing = models.CharField('Фасовка', max_length=25, default='') quantity = models.IntegerField('Количество, (кг.)', default='0', blank=False, null=True) #palletizing = models.ForeignKey('Category', on_delete=models.PROTECT, max_length=3, blank=True, null=True) output = models.CharField('Выгрузка', max_length=15, default='') output_at = models.DateTimeField('Дата отгрузки', blank=True, null=True) price = models.IntegerField('Целевая цена доставки (руб.)', blank=True, null=True) is_signed = models.BooleanField('ДС подписано', default=False) delivery_type = models.CharField('Тип доставки', max_length=25, default='') production_date = models.DateTimeField('Дата производства', blank=True, null=True) day_part = models.CharField('день или ночь', max_length=5, default='', blank=True) product_is_ready = models.BooleanField('Готовность продукта', default=False, blank=True, null=True) pack_is_ready = models.BooleanField('Готовность фасовки', default=False) packing_order = models.CharField('Порядок загрузки', max_length=15, default='', blank=True) delivery_planed_at = models.DateTimeField('Машина заказана на дату', blank=True, null=True) send_at = models.DateTimeField('Дата отправки факт', blank=True, null=True) transporter = models.CharField('Перевозчик', max_length=35, default='', blank=True) number_ts = models.CharField('Номер ТС', max_length=15, default='', blank=True) price_fact = models.IntegerField('Фактическая цена доставки (руб.)', blank=True, null=True) date_take = models.DateTimeField('Дата доставки', blank=True, null=True) def __str__(self): return str(self.number_at) class Meta: verbose_name = '=ЗАКАЗ=' verbose_name_plural = '=ЗАКАЗЫ=' permissions = ( ('can_edit_manager_group', 'Can edit manager group of columns'), ('can_edit_upakovka_group', 'Can edit upakovka group of columns'), ('can_edit_transport_group', 'Can edit transport group of columns'), )
мой admin.py:
class ArticleAdmin(admin.ModelAdmin): save_on_top = True list_display = ('id', 'number_at', 'user', 'group_user', 'created_at', 'modified_at', 'contragent', 'delivery_address', 'label', 'packing', 'quantity', 'output', 'output_at', 'price', 'is_signed', 'delivery_type', 'production_date', 'day_part', 'product_is_ready', 'pack_is_ready', 'packing_order', 'delivery_planed_at', 'send_at', 'transporter', 'number_ts', 'price_fact', 'date_take',) list_display_links = ('number_at', 'contragent', 'delivery_address') manager_group_fields = ('number_at', 'user', 'group_user', 'contragent', 'delivery_address', 'label', 'packing', 'quantity', 'output', 'output_at', 'price', 'is_signed', 'delivery_type') upakovka_group_fields = ('production_date', 'day_part', 'product_is_ready') transport_group_fields = ('pack_is_ready', 'packing_order', 'delivery_planed_at', 'send_at', 'transporter', 'number_ts', 'price_fact', 'date_take') fields = ('number_at', 'user', 'group_user', 'contragent', 'delivery_address', 'label', 'packing', 'quantity', 'output', 'output_at', 'price', 'is_signed', 'delivery_type', 'production_date', 'day_part', 'product_is_ready', 'pack_is_ready', 'packing_order', 'delivery_planed_at', 'send_at', 'transporter', 'number_ts', 'price_fact', 'date_take',) readonly_fields = fields def get_readonly_fields(self, request, obj=None): base_readonly_fields = super().get_readonly_fields(request, obj) if request.user.has_perm('can_edit_manager_group'): fields = [f for f in base_readonly_fields if f in self.manager_group_fields] elif request.user.has_perm('can_edit_upakovka_group'): fields = [f for f in base_readonly_fields if f in self.upakovka_group_fields] elif request.user.has_perm('can_edit_transport_group'): fields = [f for f in base_readonly_fields if f in self.transport_group_fields] return fields admin.site.register(Article, ArticleAdmin)
Еще и Pycharm подсвечивает 'fields' в строке 'return fields' но не критично, хотя думаю, что в этом тоже есть причина.
Пишет - 'Add global statement'.
Уделите мне, балбесу немного времени. Помогите решить вопрос!
Заранее благодарен!
Timeweb
Let me recommend you the excellent hosting on which EVILEG is located.
For many years, Timeweb has been proving his stability.
For projects on Django I recommend VDS hosting
View Hosting