Xor0x
Xor0x

Reputation: 135

Hot disable change user in django admin

How I can disable to change the user in my model. Only view. Thnx for Help

This my code

class Item(models.Model):
"""Item Model"""
title = models.CharField("Title", max_length=200)
slug = models.SlugField(max_length=200, unique=True)
user = models.OneToOneField(User, on_delete=models.CASCADE)
category = TreeForeignKey(
    Category,
    verbose_name="Category",
    related_name='items',
    on_delete=models.CASCADE
)
version = models.CharField("Version", max_length=10, help_text="v4.5 or 4.5-2")
upload = models.FileField(upload_to=content_file_name)
description = HTMLField()

https://i.sstatic.net/BKNd0.png

Upvotes: 0

Views: 71

Answers (1)

Inexpli
Inexpli

Reputation: 90

There are two solutions.
1. add editable=False example:
user = models.OneToOneField(User, editable=False, on_delete=models.CASCADE)

2. in admin.py add readonly_fields=['user'] example:

@admin.register(User)
class UserAdmin(admin.ModelAdmin):
    list_display = ['user',]
    readonly_fields = ['user', ]

Make sure to use py manage.py makemigrations and then py manage.py migrate

Upvotes: 1

Related Questions