我在使用Modelform的模型部门无法正常工作。 (顺便说一句,我在同一项目的用户应用程序中也有一个自定义用户模型)。我所得到的只是html输出中的“ Test up”按钮。同样,显示的更改电子邮件和注销可能是中间件中使用allauth的结果。我不知道allauth是否会干扰(希望)。我向管理员添加了部门模型,但是下面描述的admin中出现了一些奇怪的事情
我尝试了多种调试方式。
这是模特
from django.db import models
from django.conf import settings
from users.models import User,UserProfile
# Create your models here.
class department(models.Model):
Dept_CHOICES = (
(1, 'Inventory'),
(2, 'Dispatch'),
)
dept_type = models.PositiveSmallIntegerField(choices=Dept_CHOICES,default=1,unique=False),
HOD = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE,),
Invest = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE,),
def __str__(self):
return self.dept_type
这是查看代码
def add_model(request):
if request.method == "POST":
form = departForm(request.POST)
if form.is_valid():
model_instance = form.save(commit=False)
model_instance.save()
return redirect('/')
else:
form = departForm()
return render(request, "test.html", {'form': form})
base.html
<!-- templates/base.html -->
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<main>
{% block content %}
{% endblock %}
</main>
</body>
</html>
test.html
{% extends 'base.html' %}
{% block content %}
<div class = "container">
<h2>Sign up</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Test up</button>
</form>
</div>
{% endblock %}
admin.py
from core1.models import department
# Register your models here.
@admin.register(department)
class DepartmentAdmin(admin.ModelAdmin):
pass
该网站的 admin 中的输出是单个字段,其名称为
<django.db.models.fields.PositiveSmallIntegerField>
有关其他信息,我在同一views.py文件中使用类视图和函数视图。希望它被允许。
我希望表格显示出来 尝试了form.as_p但得到了
<<bound method BaseForm.as_p of <departForm bound=False, valid=False, fields=()>>
尝试过form.valid
<bound method BaseForm.is_valid of <departForm bound=False, valid=False, fields=()>>
答案 0 :(得分:0)
独自解决!
# Register your models here.
class departmentadmin(admin.ModelAdmin):
fields = ['HOD', 'Investigator', 'dept_type']
list_display = ('HOD','Investigator','dept_type')
pass
admin.site.register(department, departmentadmin)
现在,管理员还显示部门,表格也显示具有所需输出的部门。