【问题标题】:how to display first_name in database on django如何在 Django 的数据库中显示名字
【发布时间】:2022-11-24 17:47:01
【问题描述】:

`视图.py

from allauth.account.views import SignupView
from .forms import HODSignUpForm

class HodSignUp(SignupView):

template_name = 'account/signup.html'
form_class = HODSignUpForm
redirect_field_name = ''
view_name = 'hod_sign_up'

def get_context_data(self, **kwargs):
ret = super(HodSignUp, self).get_context_data(**kwargs)
ret.update(self.kwargs)
return ret

表单.py

from .models import Admin
from po.models import User
from allauth.account.forms import SignupForm

class HODSignUpForm(SignupForm):
first_name=forms.CharField(required=False)
last_name=forms.CharField(required=False)

class Meta:
model= Admin
fields = ['first_name','last_name']

def save(self,request):
user = super(HODSignUpForm, self).save(request)
user.is_hod = True
user= User(first_name=self.cleaned_data.get('first_name'),
last_name=self.cleaned_data.get('last_name'))
user.save()
return user

模型.py

from po.models import User
class Admin(models.Model):
user = models.ForeignKey(User, blank=True, null=True, on_delete=models.SET_NULL)
first_name = models.CharField(max_length=30, db_column='first_name')
last_name = models.CharField(max_length=30, db_column='last_name')

po.模型.py

from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
is_active = models.BooleanField(default=True)
is_hod= models.BooleanField(default=False)
first_name = models.CharField(null=True, max_length=50)
last_name=models.CharField(null=True, max_length=50)
admin.py

从 po.models 导入用户

类 Schooladmin(admin.ModelAdmin): list_display = ("id","is_active","is_hod","first_name","last_name") list_filter = ("is_active","is_hod") 添加字段集 = ( ('个人信息', { '字段':('first_name','last_name') }), )

admin.site.register(用户,学校管理员)

enter image description here 我想要此图像显示名称,但如何在数据库中显示名字和姓氏? enter image description here 这是个问题。

【问题讨论】:

  • 究竟是什么问题。正确解释
  • 仅显示电子邮件和用户名,但名字或姓氏从不显示在我的 phpmyadmin 上。
  • 我在 firstname 上输入了我的名字,但没有在 myphpmyadmin 上显示我的名字

标签: python django


【解决方案1】:

创建类时添加verbose_name:

first_name = models.CharField(max_length=30, db_column='first_name', verbose_name='Name')

或者您可以将类 Meta 添加到模型并使用标签:

labels = {
    'first_name': 'Name'
}

【讨论】:

  • 我在 firstname 上输入了我的名字,但不再在 myphpmyadmin 上显示我的名字
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-14
  • 1970-01-01
  • 2020-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-27
相关资源
最近更新 更多