Từ Django.Contrib.Auth docs:Sử dụng Django auth UserAdmin cho một mô hình người dùng tùy chỉnh
Extending Django’s default User If you’re entirely happy with Django’s User model and you just want to add some additional profile information, you can simply subclass
django.contrib.auth.models.AbstractUser
and add your custom profile fields. This class provides the full implementation of the default User as an abstract model.
Said và thực hiện. Tôi đã tạo một mô hình mới như sau:
class MyUser(AbstractUser):
some_extra_data = models.CharField(max_length=100, blank=True)
Điều này hiển thị trong quản trị gần giống như tiêu chuẩn của Django User
. Tuy nhiên, sự khác biệt quan trọng nhất trong quản trị viên là trường thiết lập mật khẩu (lại) không có mặt, nhưng một CharField bình thường được hiển thị thay thế. Tôi có thực sự phải ghi đè lên nội dung trong admin-config để làm việc này không? Nếu vậy, làm thế nào tôi có thể làm điều đó theo cách hơi DRY (tức là không sao chép nội dung từ nguồn Django ... eww ...)?
Tuyệt vời! Đó là chính xác những gì tôi đang tìm kiếm, tôi đang làm tương tự với mô hình người dùng tùy chỉnh của tôi, bằng cách sử dụng AbstractUser. Giải pháp này hoạt động tuyệt vời, một số tùy chỉnh (ẩn trường, thêm 'some_extra_data' của bạn trong 'Thông tin cá nhân') sẽ được tốt đẹp quá nhưng bây giờ bạn thực hiện ngày của tôi. Cảm ơn @nico – Dachmt
Bạn được chào đón. Cảm thấy tự do để upvote nếu bạn đã không làm như vậy rồi. :) – nip3o
Quá tải các trường hợp de UserAdmin xấu xí? Nó hoạt động. Cảm ơn. – allcaps