'function' object has no attribute '_meta'

17:29 28/04/2021Hienvinh25081 trả lời47 lượt xem

form.py:

from django import forms
from django.contrib.auth import get_user_model

User = get_user_model


class ProfileEditForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ('full name', 'phone number')

view.py:

from django.contrib.auth import get_user_model
from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib.auth.views import LoginView, LogoutView
from django.urls import reverse_lazy
from django.views.generic import TemplateView, UpdateView

User = get_user_model


class SiteLoginView(LoginView):
    template_name = 'login.html'


class SiteLogoutView(LogoutView):
    template_name = 'logout.html'


class ProfileEditView(LoginRequiredMixin, UpdateView):
    template_name = 'profile.html'
    model = User
    fields = ('full name', 'phone number')
    success_url = reverse_lazy('profile')

    def get_object(self, queryset=None):
        return self.request.user

bị báo lỗi 'function' object has no attribute '_meta' mình phải giải quyết sao vậy anh

Đã chỉnh sửa lúc 09:14 29/04/2021
Gửi Trả Lời

1 trả lời cho câu hỏi

  1. Bạn phải gọi hàm User = get_user_model() để lấy giá trị là bảng User đã khai báo nhé. Còn không User nó chỉ là một hàm thôi, chưa lấy giá trị ra để dùng.