小编phi*_*ipk的帖子

Django ORM,CharField和blank = True

Django的文档非常清楚在数据库级别将空字符串存储为""而不是NULL(因此空数据只有一种可能的格式):

请注意,空字符串值将始终存储为空字符串,而不是NULL.仅对非字符串字段(如整数,布尔值和日期)使用null = True.对于这两种类型的字段,如果要在表单中允许空值,则还需要设置blank = True,因为null参数仅影响数据库存储(请参阅空白).

尽管如此,在添加新字段后,我开始在新字段(phone_number)上遇到IntegrityErrors.

"phone_number"列中的空值违反非空约束

这个模型看起来像这个新领域(我通过南方进行了迁移):

class Person(models.Model):
    user = models.ForeignKey(User)
    description = models.TextField(blank=True)
    phone_number = models.CharField(blank=True)
Run Code Online (Sandbox Code Playgroud)

我已经(暂时)通过在phone_number上设置null = True解决了这个问题,但是现在我有数百个带空字符串的条目,并且我的数据库中有一个NULL值.(我也尝试将default =''添加到phone_number字段,但我仍然看到了IntegrityError问题.)

在过去,我一直使用MySQL,但在这个项目中,我使用的是Postgres.生成的SQL插入尝试是:

'INSERT INTO "people_person" ("user_id", "description", "gender", "birthdate", "default_image_id", "zip_code", "beta_status") VALUES (%s, %s, %s, %s, %s, %s, %s) RETURNING "people_person"."id"'.

我的期望是Django会在"phone_number"列中插入一个空字符串,但它似乎没有这样做.我可能期望的另一件事是Django在CREATE TABLE语句中包含一个SET DEFAULT,但事实并非如此.所以Postgres对该列上的NOT NULL感到愤怒.

谢谢!

django

12
推荐指数
2
解决办法
6579
查看次数

ReportLab和Python Imaging Library图像来自内存问题

我遇到了一个我无法用PIL和reportlab搞清楚的问题.具体来说,我想在reportlab中使用PIL Image对象在画布上使用drawImage.

在过去,我使用原始数据,StringIO和reportlab的ImageReader类将图像插入到web的reportlab文档中.不幸的是,ImageReader采用文件名或文件缓冲区之类的对象.

最终目标是能够将QR码(即PIL对象)放入reportlab PDF中.有效的一点是:

    size, qrcode = PyQrcodec.encode('http://www.google.com')
    qrcode.save("img.jpeg")
    self.pdf.drawImage(ImageReader("img.jpeg"), 25, 25, width=125, height=125)
    self.pdf.showPage()
Run Code Online (Sandbox Code Playgroud)

这将保存图像,然后将其读入pdf.显然这样做是没有意义的.

reportlab的相对较长的发展历史使我的努力更加复杂,这使得找到与最新版本(2.4)相关的答案.

谢谢您的帮助.

(顺便说一句,我使用的是1.1.6 PIL)

python reportlab python-imaging-library

10
推荐指数
1
解决办法
6451
查看次数

CloudFront提供的CSS文件未呈现

这是一个奇怪的问题,但我认为我已经在线路的某处做了一些事情,以结束当前的情况.

尝试从CloudFront提供静态文件(图像,css和js)时,它们似乎无法正确呈现.例如,我的一个样式表可以在这里找到:http://d21uvxjmc903qz.cloudfront.net/stylesheets/hf.4fabc9c719f8.css,但它似乎并没有像我期望的那样"应用"到DOM.(例如,在Firebug中查看Chrome或Firefox中的开发人员工具时,相关样式不会应用于该<header>元素.

看看响应标题,看起来Content-Type设置得当,所以我几乎没有想法.

关于下一步要去哪里的建议?

amazon-s3 amazon-cloudfront

9
推荐指数
1
解决办法
4863
查看次数

无法在Django开发服务器中提供来自/ static URL root的内容

我非常困惑了30分钟,但我认为我的问题必须与Django 1.3的变化有关.

我的urls.py看起来像这样:

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^static/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root': settings.STATIC_ROOT, 'show_indexes': True}),
        (r'^media/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
        (r'^admin_media/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root': settings.ADMIN_MEDIA_ROOT}),
    )
Run Code Online (Sandbox Code Playgroud)

如果我访问/ static /,我会得到一个文件列表.例如,在我的根目录中有一个文件"iphone.png".去/static/iphone.png我得到一条404消息.

如果我将该部分更改为:

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^otherstatic/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root': settings.STATIC_ROOT, 'show_indexes': True}),
        (r'^media/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
        (r'^admin_media/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root': settings.ADMIN_MEDIA_ROOT}),
    )
Run Code Online (Sandbox Code Playgroud)

与/ otherstatic /相关的一切都非常有效.

我还应该添加/ media /或/ admin_media /没有问题.

这与Django的新静态文件应用程序有关吗?(如果是这样,谁认为完全打破这个非常简单的用例是个好主意?)

谢谢!

django

4
推荐指数
1
解决办法
7954
查看次数