社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DjangoApp

请教下大家一个DJANGO问题:TypeError: 'type' object is not iterable

745612798 • 8 年前 • 3746 次点击  

图片中是相关部分的代码 -----models.py------

from __future__ import unicode_literals

import datetime
from django.db import models
from django.contrib.auth.models import User
from django.utils.encoding import python_2_unicode_compatible
from django.utils import timezone
from django.contrib.auth.models import AbstractUser

@python_2_unicode_compatible
class NewUser(AbstractUser):    

        def __str__(self):
                return self.username

@python_2_unicode_compatible
class StudentUser(models.Model):
        user = models.ForeignKey('NewUser', null=True)
        student_no = models.CharField('student_no', max_length=10)
        student_class = models.CharField('student_class', max_length=8)
        teacher_major = models.TextField('student_major', default='')

        def __str__(self):
                return self.username

@python_2_unicode_compatible
class TeacherUser(models.Model):
        user = models.ForeignKey('NewUser', null=True)
        employee_no = models.CharField('employee_no', max_length=10)
        teacher_major = models.TextField('teacher_major', default='')

        def __str__(self):
                return self.username

class CourseManager(models.Manager):
        def query_by_time(self):
                query = self.get_queryset().order_by('pub_date')
                return query

        def query_by_category(self, category):
                query = self.get_queryset().order_by('category')
                return query

        def query_by_keyword(self, keyword):
                query = self.get_queryset().filter(title__contains=keyword)
                return query

        def query_by_thumbup(self, thumbup):
                query = self.get_queryset().order_by('thumbup')
                return query


@python_2_unicode_compatible
class Course(models.Manager):
        course_id = models.IntegerField(default=0)
        course_name = models.TextField('course_name', default='')
        course_intro = models.TextField('course_intro', default='')
        thumbup = models.IntegerField(default=0)
        pub_date = models.DateField('date published')
        dead_line = models.DateField('deadline published')
        category = models.CharField(max_length=100)

        def was_published_recently


    
(self):
                now = timezone.now()
                return now - datetime.timedelta(days=1) <= self.pub_date <= now
        was_published_recently.admin_order_field = 'pub_date'
        was_published_recently.boolean = True
        was_published_recently.short_description = 'Was published recently?'

        def __str__(self):
                return self.course_name

        objects = CourseManager()

-----views.py--------

from django.shortcuts import render
from django.http import HttpResponse
def index(request):
    return HttpResponse("test.")

---admin.py----

from django.contrib import admin
from .models import StudentUser, TeacherUser, Course

class CourseAdmin(admin.ModelAdmin):
        fieldsets = [
                ('Primary Key',               {'fields': ['course_id'],'classes': ['collapse']}),
                ('Course Name', {'fields': ['course_name'],'classes': ['collapse']}),
                ('Date information', {'fields': ['pub_date'],'classes': ['collapse']}),
        ]
        list_display = ('course_id','course_name', 'category', 'pub_date', 'dead_line', 'was published recently')
        list_filter = ['pub_date']
        search_fields = ['course_name']
-----forms.py-----
[code]from django import forms

class LoginForm(forms.Form):
        uid = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control' ,'id':'uid', 'placeholder': '用户名'}))
        pwd = forms.CharField(widget=forms.PasswordInput(attrs={'class':'form-control' ,'id':'pwd', 'placeholder': '密码'}))

class RegisterForm(forms.Form):
        username = forms.CharField(label='username', max_length=100,
                widget=forms.TextInput(attrs={'id':'username','onblur':'authentication()'}))
        email = forms.EmailField()
        password1 = forms.CharField(widget=forms.PasswordInput)
        password2 = forms.CharField(widget=forms.PasswordInput)

class SetIntoForm(forms.Form):
        username = forms.CharField()

class CommentForm(forms.Form):
        comment = forms


    
.CharField(label='', widget=forms.Textarea(attrs={'cols':'60', 'rows':'6'}))
admin.site.register(Course,CourseAdmin)

错误报告: Unhandled exception in thread started by <function wrapper at 0x0000000005B23B38> Traceback (most recent call last): File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper fn(*args, kwargs) File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 113, in inner_run autoreload.raise_last_exception() File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 249, in raise_last_exception six.reraise(_exception) File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper fn(args, kwargs) File "C:\Python27\lib\site-packages\django__init.py", line 27, in setup apps.populate(settings.INSTALLED_APPS) File "C:\Python27\lib\site-packages\django\apps\registry.py", line 115, in populate app_config.ready() File "C:\Python27\lib\site-packages\django\contrib\admin\apps.py", line 23, in ready self.module.autodiscover() File "C:\Python27\lib\site-packages\django\contrib\admin__init.py", line 26, in autodiscover autodiscover_modules('admin', register_to=site) File "C:\Python27\lib\site-packages\django\utils\module_loading.py", line 50, in autodiscover_modules import_module('%s.%s' % (app_config.name, module_to_search)) File "C:\Python27\lib\importlib__init.py", line 37, in import_module import__(name) File "C:\wamp64\www\myFiles\titcoder3\course\admin.py", line 16, in <module> admin.site.register(Course,CourseAdmin) File "C:\Python27\lib\site-packages\django\contrib\admin\sites.py", line 86, in register for model in model_or_iterable: TypeError: 'type' object is not iterable

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1702
 
3746 次点击