1

我有一个models.py定义了以下类的文件:

from django.db import models
from bands.models import Genre, Song

class Lyric(models.Model):
    """A music lyric"""
    class Meta:
        db_table = 'lyric'
    genre = models.ForeignKey(Genre)
    song = models.ForeignKey(Song,unique=True)
    lyric_text = models.TextField()
    created_at = models.DateTimeField()
    def __unicode__(self):
        return "\"" + self.title + "\" by " + self.author
    def lyric_short(self, length=100):
        return self.lyric_text[:length] + "..."

class LyricComment(models.Model):
    """Comment on a lyric"""
    class Meta:
        db_table = 'lyric_comment'
    lyric = models.ForeignKey(Lyric)
    text = models.TextField()
    author = models.CharField(max_length=64)
    ip = models.IpAddressField()
    created_at = models.DateTimeField()
    def __unicode__(self):
        return "\"" + self.text[:10] + "...\" by " + self.author
    def text_short(self, length=100):
        return self.text[:length] + "..."

运行时:

$ python manage.py syncdb

抛出以下错误:

AttributeError: 'module' object has no attribute 'IpAddressField'

有什么问题ip = models.IpAddressField()

4

2 回答 2

4

它的拼写IPAddressField,大P

于 2013-03-14T12:30:19.610 回答
1

这是拼写错误。

更改ip = models.IpAddressField()ip = models.IPAddressField()

于 2013-03-14T12:34:45.070 回答