代码之家  ›  专栏  ›  技术社区  ›  niklasfi Rahul Tripathi

Django说:表x没有名为y的列,我不同意。

  •  0
  • niklasfi Rahul Tripathi  · 技术社区  · 16 年前

    我得到以下错误:

    sqlite3.OperationalError: table gallery_image has no column named filename
    

    这是我的模型:

    from django.db import models
    
    class Image(models.Model):
        filename= models.Field(max_length=40);
        gallery = models.ForeignKey('Gallery')
        def __unicode__(self):
            return u'%s(%s)' % (self.filename,self.gallery)
    
    class Gallery(models.Model):
        title   = models.CharField(max_length=100)
        url     = models.CharField(max_length=50, unique=True)
        def __unicode__(self):
            return u'title: %s, url: %s' % (self.title, self.url)
    

    这个脚本显然在最后一行有错误

    from django.core.management.base import BaseCommand
    from dev.gallery.models import Gallery, Image
    import os
    
    class Command(BaseCommand):
        def handle(self, *args, **options):
            importfrom='/srv/django/dev/gallery/import'
            exportto='/var/www/dev-media/'
    
            title=args[0]
            url=args[1]
    
            print(os.listdir(importfrom))
    
            if not len(args)==2:
                print 'wrong number of arguments'
                return ;
    
            #Create the gallery in the database
            g=Gallery(title=title,url=title)
            g.save();
    
            files=os.listdir('/srv/django/dev/gallery/import');
    
            for f in files:
                Image(filename=f,gallery=g).save();
    

    如果这对你有意义,请向我解释为什么:)

    1 回复  |  直到 16 年前
        1
  •  1
  •   Lexo    16 年前

    应该 filename 成为 FileField 而不仅仅是 Field ?

    推荐文章