我有UserProfile场模型avatar = models.ImageField(upload_to=upload_avatar)
upload_avatar函数名称图像文件根据user.id(例如12.png).
但是当用户更新头像时,新的头像名称与旧的头像名称一致,Django将后缀添加到文件名(例如12-1.png).
有办法覆盖文件而不是创建新文件?
我有2个表products并catagories通过外键连接.我需要products.new_cost使用字段更新字段catagories.price_markup如下:
UPDATE products p
INNER JOIN categories c ON p.category_id = c.id
SET p.new_cost = ROUND(p.pleer_cost * (1 + c.price_markup/100), -1)
WHERE p.update = 1
Run Code Online (Sandbox Code Playgroud)
在SQL中它很容易,但是如何使用Django ORM呢?
我的简化尝试不起作用Cannot resolve keyword 'category.price_markup' into field.:
Product.actived.select_related('category').filter(update=1)).update(new_cost=F('pleer_cost') * F('category.price_markup'))
Run Code Online (Sandbox Code Playgroud) 我从源代码安装了python 2.7.6,但是找不到如何为python 2.7安装python-devel
yum install python27-devel
Run Code Online (Sandbox Code Playgroud)
不起作用.怎么安装呢?

django中的型号:
class Key(models.Model):
id = models.AutoField(primary_key=True, blank=True)
name = models.CharField(max_length=50)
class Record(models.Model):
id = models.AutoField(primary_key=True, blank=True)
project_id = models.IntegerField()
name = models.CharField(max_length=50)
class Value(models.Model):
id = models.AutoField(primary_key=True, blank=True)
record = models.ForeignKey(Record)
key = models.ForeignKey(Key)
value = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)
我需要从DB中选择这个数据:
NAME (from record)
and fields related with this record
[NAME (from key), VALUE (from value)]
[NAME (from key), VALUE (from value)]
[...]
Run Code Online (Sandbox Code Playgroud)
我可以使用django ORM进行此选择吗?(例如在SQL select中看起来像这样)
SELECT
`keeper_record`.`id` AS `record_id`,
`keeper_record`.`name` AS `name`,
`keeper_record`.`desc` AS `desc`,
`keeper_key`.`name` AS `key_name`,
`keeper_key`.`desc` AS `key_desc`,
`keeper_value`.`value` …Run Code Online (Sandbox Code Playgroud) 在文档中有自定义URL的方法示例:http: //www.django-rest-framework.org/tutorial/6-viewsets-and-routers
class SnippetViewSet(viewsets.ModelViewSet):
...
@link(renderer_classes=[renderers.StaticHTMLRenderer])
def highlight(self, request, *args, **kwargs):
snippet = self.get_object()
return Response(snippet.highlighted)
Run Code Online (Sandbox Code Playgroud)
此示例添加以下路由:
url(r'^snippets/(?P<pk>[0-9]+)/highlight/$', snippet_highlight, name='snippet-highlight'),
Run Code Online (Sandbox Code Playgroud)
可以添加没有pk param的url,像这样吗?
r'^snippets/highlight/$'
Run Code Online (Sandbox Code Playgroud) 我尝试使用俄语的复数形式,但俄罗斯有两种形式的字为多个单词(例如:"1个курс" = 1当然,"2курс а " = 2门课程,但"5курс ов " = 5课程).
Django支持这种特性并使用此算法指定复数形式(django.po headers):
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
Run Code Online (Sandbox Code Playgroud)
复数形式的描述看起来像这样(django.po):
msgid "%(????) ????"
msgid_plural "%(????) ?????"
msgstr[0] "%(????) ????"
msgstr[1] "%(????) ?????"
msgstr[2] "%(????) ??????"
Run Code Online (Sandbox Code Playgroud)
我如何在模板中使用它?像这样的东西{% sometag word="????" counter=courses|lenht %}?有默认标签,还是我需要自己实现这个标签?
我试图通过以下方式对对象进行序列化QuerySet或Dict对象datetime.date:
方式#1:
json.dumps(MyModel.objects.values())
Run Code Online (Sandbox Code Playgroud)
引发错误:
例外值:[{'date':datetime.date(2012,5,26),'time':datetime.time(0,42,27)}]不是JSON可序列化的
方式#2:
json.dumps(MyModel.objects.values(), cls=DjangoJSONEncoder)
Run Code Online (Sandbox Code Playgroud)
还会引发错误:
例外值:[{'date':datetime.date(2012,5,26),'time':datetime.time(0,42,27)}]不是JSON可序列化的
方式#3:
json.dumps(MyModel.objects.all(), cls=DjangoJSONEncoder)
Run Code Online (Sandbox Code Playgroud)
异常值:[<MyModel:MyModel object>]不是JSON可序列化的
方式#4:
serializers.serialize('json', MyModel.objects.all())
Run Code Online (Sandbox Code Playgroud)
引发错误:
异常值:'str'对象没有属性'_meta'
如何在Django中使用datetime的字段将对象序列化为JSON?
堆积面积图示例http://nvd3.org/ghpages/stackedArea.html
当我点击一个系列时,它会扩展到所有图表区域,删除其他系列.如何禁用此功能?
当用户未登录时,应将其重定向到登录页面.
if not request.user.is_authenticated()
# redirect to the login page
Run Code Online (Sandbox Code Playgroud)
但是必须在每个视图中编写此代码.有一种方法只能为所有视图编写一次公共代码吗?
我有以下路线:
url(r'^future/programs/$', main.programs, {'period': 'future'}),
url(r'^past/programs/$', main.programs, {'period': 'past'}),
Run Code Online (Sandbox Code Playgroud)
当我尝试显示模板链接,使用模板标记url这样
{% url main.views.main.programs %}
Run Code Online (Sandbox Code Playgroud)
我总是得到链接/past/programs/.当我尝试这样的时候
{% url main.views.main.programs period="future" %}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
渲染时捕获NoReverseMatch:反向'main.views.main.programs',参数'()'和关键字参数'{'period':u'future'}'未找到.
我如何显示链接/future/programs/?
我已经开始学习django并且使用ORM(DB mysql)进行INSERT查询时遇到问题.我的模特:
class Record(models.Model):
id = models.AutoField(primary_key=True, blank=True),
schema_id = models.IntegerField(),
name = models.CharField(max_length=50),
desc = models.TextField(blank=True)
class Meta:
db_table = 'keeper_record'
Run Code Online (Sandbox Code Playgroud)
以下代码是view.py中的句柄后查询:
def add_record(request):
if request.method == 'POST':
Record.objects.create(
schema_id = request.POST.get('schema_id', 1),
name = request.POST.get('name', 'd'),
desc = request.POST.get('desc', ' ')
)
record.save()
return HttpResponse('')
Run Code Online (Sandbox Code Playgroud)
但是此代码引发错误:
Request Method: POST
Request URL: http://127.0.0.1:8000/records/add/
Django Version: 1.3.1
Exception Type: TypeError
Exception Value:
'schema_id' is an invalid keyword argument for this function
Exception Location: C:\Program Files (x86)\Python\lib\site-packages\django\db\models\base.py in __init__, line 364 …Run Code Online (Sandbox Code Playgroud) 如何在 Django ORM 中使用正则表达式?我找到了__searchand__contains字段的后缀,但__regexp不起作用。
解决方案是使用__regex而不是__regexp如果有人遇到同样的问题。
django ×10
django-orm ×3
python ×3
django-views ×2
centos ×1
centos6 ×1
d3.js ×1
json ×1
nvd3.js ×1
python-2.7 ×1