我使用Django1.7和Mezzanine。 我创build简单的configuration文件(根据夹层文档)存储在单独的应用程序“configuration文件”中: class RoadmapProfile(models.Model): user = models.OneToOneField("auth.User") fullname = models.CharField(max_length=100, verbose_name="Full name") 创build迁移回报: Migrations for 'profiles': 0001_initial.py: – Create model RoadmapProfile 当我运行“迁移configuration文件”时: Operations to perform: Apply all migrations: profiles Running migrations: No migrations to apply. 问题是,当我尝试打开与mezzanine.accounts(例如更新帐户)相关的任何页面时,它崩溃: OperationalError at /accounts/update/ no such column: profiles_roadmapprofile.fullname 我做错了什么?
我正在尝试更改DRF序列化程序中的模型字段名称,如SQL中的别名。 我尝试过不同的方法,但不能成功。 models.py class Park(models.Model): name = models.CharField(max_length=256) alternate_name = models.CharField(max_length=256, blank=True) objects = models.GeoManager() class Meta: db_table = u'p_park' def __unicode__(self): return '%s' % self.name def alias_alternate_name(self): return self.alternate_name serializers.py class ParkSerializer(serializers.ModelSerializer): location = serializers.Field(source='alias_alternate_name') #location = serializers.SerializerMethodField(source='alias_alternate_name') #alternate_name as location class Meta: model = Park fields = ('id', 'name', 'location') 我也尝试在Django Queryset中添加别名,但无法更改。 更新 […]
什么可能导致这个错误: $ sudo tail -n 100 /var/log/apache2/error.log' [Wed Dec 29 15:20:03 2010] [error] [client 220.181.108.181] mod_wsgi (pid=20343): Exception occurred processing WSGI script '/home/username/public_html/idm.wsgi'. [Wed Dec 29 15:20:03 2010] [error] [client 220.181.108.181] IOError: failed to write data 这是WSGI脚本: $ cat public_html/idm.wsgi import os import sys sys.path.append('/home/username/public_html/IDM_app/') os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() 为什么Django不能写数据? 我正在运行Django […]
如果一个Django模型包含一个外键字段,并且如果该字段以列表模式显示,那么它显示为文本 ,而不是显示到外部对象的链接 。 是否有可能自动显示所有的外键作为链接,而不是平面文字? (当然,有可能在一个字段的基础上做到这一点,但是有一个通用的方法吗?) 例如 : class Author(models.Model): … class Post(models.Model): author = models.ForeignKey(Author) 现在我select一个ModelAdmin,以便作者以列表模式显示: class PostAdmin(admin.ModelAdmin): list_display = […, 'author',…] 现在在列表模式下,author字段将使用Author类的__unicode__方法来显示作者。 最重要的是,我想要一个指向pipe理网站中相应作者url的链接 。 那可能吗? 手动方法 : 为了完整起见,我添加了手动方法。 这将是在PostAdmin类中添加一个方法author_link : def author_link(self, item): return '<a href="../some/path/%d">%s</a>' % (item.id, unicode(item)) author_link.allow_tags = True 这将适用于特定的领域,但这不是我想要的。 我想要一个通用的方法来达到同样的效果。 (其中一个问题是如何自动找出djangopipe理站点中对象的path。)
我在string键引用的会话中存储字典: >>> request.session['my_dict'] = {'a': 1, 'b': 2, 'c': 3} 我遇到的问题是,当我直接修改字典时,在下一个请求期间值不会被改变: >>> request.session['my_dict'].pop('c') 3 >>> request.session.has_key('c') False # looks okay… … # Next request >>> request.session.has_key('c') True # what gives!
我需要使用像get_or_create(),但问题是,我有很多字段,我不想设置默认值(这是没有意义的),如果我不设置默认值,它返回一个错误,因为它显然保存了对象。 我可以将字段设置为null = True,但我不想要空字段。 是否有其他方法或任何额外的参数可以发送到get_or_create(),以便它实例化一个对象,但不保存它,直到我调用save()? 谢谢。
什么是部署一个典型的Django项目最好的股票结构脚本? 面料看起来非常好,但似乎要求您从头开始编写自己的部署脚本。 来自Capistrano,我想从其他人已经testing过的更加开箱即用的东西开始,而不是从头开始编写一个。 理想情况下,我想要一个同步数据库,使用南进行迁移,备份网站和数据库,并可以回滚以前的部署。
我想在我的django应用程序在视图函数中的不同点输出debugging消息。 Django的debugging工具栏的文档说它使用python日志中的构build,但我找不到更多的信息。 我真的不想login到文件,而是到工具栏上的信息窗格。 这个怎么用?
所以我现在正在快速迭代django应用程序,并且不断调整models.py。 在一两天的编程和testing过程中,我生成了几十个迁移文件。 有时候,我真的把这个模式分开了,完全重新做。 这导致迁移过程抱怨很多关于默认和空值等等。 如果可能的话,我只是想抓取所有的迁移工作,现在重新开始迁移,我终于知道自己在做什么了。 到目前为止,我的做法是: 删除__init__.py之外的所有迁移文件夹。 放入我的PostgreSQL控制台,然后执行: DELETE FROM south_migrationhistory WHERE app_name='my_app'; 而在PostgreSQL控制台中,删除所有与my_app关联的表。 重新运行./manage.py makemigrations my_app – 这会在我的migrations文件夹中生成一个0001_initial.py文件。 运行./manage migrate my_app – 我希望这个命令重新构build我的所有表,但是却说:“没有迁移到应用”。 是什么赋予了? 另外, south_migrationhistory数据库performance在仍然在使用中,我已经倾倒南部,并切换到Django 1.7? 谢谢。
我正在尝试创build一个邮件系统,邮件的发件人和收件人可以是通用实体。 这似乎罚款的发件人,只有对象引用(GenericForeignKey),但我不知道如何去接收者(GenericManyToManyKey ??) 下面是一个简单的例子。 PersonClient和CompanyClient从客户端inheritance属性,但有自己的具体细节。 最后一行是棘手的问题。 如何让消息收件人成为一组公司客户端和个人客户端 class Client(models.Model): city = models.CharField(max_length=16) class Meta: abstract = True class PersonClient(Client): first_name = models.CharField(max_length=16) last_name = models.CharField(max_length=16) gender = models.CharField(max_length=1) class CompanyClient(Client): name = models.CharField(max_length=32) tax_no = PositiveIntegerField() class Message(models.Model): msg_body = models.CharField(max_length=1024) sender = models.ForeignKey(ContentType) recipients = models.ManyToManyField(ContentType)