模型表不显示

时间:2019-10-08 03:34:17

标签: python html django django-forms

我在使用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=()>>

1 个答案:

答案 0 :(得分:0)

独自解决!

  1. 我检查了管理站点。没有部门模型显示。这意味着我迁移不正确或部门模型有问题
  2. 我的部门模型的所有字段都以,(逗号)结尾。删除了相同内容,使模型更加健壮且没有错误。
  3. 删除了所有迁移并完成了新迁移
  4. 修改后的管理员如下
# 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)

现在,管理员还显示部门,表格也显示具有所需输出的部门。