我有一个非常基本的类,它看起来像下面这样:的Django 1.7迁移无法序列化一个类的方法
class Car(Model):
name = CharField(max_length=255, unique=True)
@classmethod
def create_simple_examples(cls):
for c in ['Sedan', 'Coupe', 'Van', 'SUV']:
cls.objects.get_or_create(name=c)
@classmethod
def get_default(cls):
c, _ = cls.objects.get_or_create(name='Sedan')
return c
def __unicode__(self):
return self.name
我试图将它添加到一个Django应用程序。我有两个类的方法来1.快速填充表的函数,2.抓住一个经常使用的默认方法。
当我运行
python manage.py makemigrations myapp
我收到以下错误
ValueError: Cannot serialize: <bound method ModelBase.get_default of <class 'crunch.django.myapp.models.Car'>>
我不太知道为什么它试图序列我get_default
功能,这不是真正的表迁移的一部分本身。任何帮助将不胜感激
UPDATE我想我可能已经找到了问题的根源(仍然不知道如何解决,虽然它...)
我有其他类被FKing我新类,默认使用我的默认上面...像这样的事情
class OtherClass(Model):
car = ForeignKey(Car, default=Car.get_default)
它看起来像迁移正在试图序列化的功能,因为这一点。有关如何解决此问题的任何提示?
尝试移动默认的保存方法,或者你是怎么得到这个post_save等 – madzohan
工作,最后? –