Tag: django

除非选中,否则使用BooleanField的Django表单总是无效的

我有一个使用以下forms的应用程序: class ConfirmForm(forms.Form): account_name = forms.CharField(widget=forms.HiddenInput) up_to_date = forms.BooleanField(initial=True) 我使用下面的模板exerpt中的表单: <form class="confirmform" action="/foo/" enctype="multipart/form-data" method="post"> {{ confirm_form.up_to_date }} Check if this data brings the account up to date.<br> {{ confirm_form.account_name }} <input type="submit" name="confirm" value="Confirm" /> </form> 我的看法使用以下基本的代码结构: if request.method == 'POST': #check for 'confirm' because I actually have multiple forms in this page if […]

Django:“NotNotist”来自哪里?

在Django的所有时间,我看到DoesNotExist像db.models.fields.related.py一样被引发。 不是在django.core.exceptions定义的ObjectDoesNotExist ,而只是DoesNotExist 。 这个exception类是在哪里定义的,还是我没有完全理解exception? 我已经检查过它没有例外(至less不是我所知道的)。 我很困惑。 注意:它也是免费的,作为模型子类实例的属性,比如`self.someforeignkey.DoesNotExist。 这怎么可能?

Django:从ModelAdmin中访问模型实例?

我有一个网上商店应用程序的订单模型,自动增加主键和外键本身,因为订单可以分成多个订单,但必须保持与原始订单的关系。 class Order(models.Model): ordernumber = models.AutoField(primary_key=True) parent_order = models.ForeignKey('self', null=True, blank=True, related_name='child_orders') # .. other fields not relevant here 我为pipe理网站注册了一个OrderAdmin类。 对于详细视图,我在fieldsets属性中包含了parent_order 。 当然,默认情况下,这会列出select框中的所有订单,但这不是所需的行为。 相反,对于没有父订单的订单(即, parent_order从其他订单拆分; parent_order为NULL /无),则不应显示订单。 对于已拆分的订单,这应该只显示单亲订单。 有一个相当新的ModelAdmin方法可用, formfield_for_foreignkey ,这似乎是完美的,因为queryset可以在里面过滤。 假设我们正在查看订单#11234的细节视图,该订单已从订单#11208中拆分。 代码如下 def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == 'parent_order': # kwargs["queryset"] = Order.objects.filter(child_orders__ordernumber__exact=11234) return db_field.formfield(**kwargs) return super(OrderAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) 注释行在Python shell中运行时工作,返回包含#11234的订单#11208的单个项目查询集以及可能已经从中拆分的所有其他订单。 […]

在order_by()中使用Django自定义模型方法属性

我目前正在学习Django,我的一些模型有自定义的方法来获取以特定方式格式化的值。 是否有可能使用这些自定义方法之一的值作为order_by()模型中的属性定义? 这是一个演示如何实现该属性的示例。 class Author(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=40) email = models.EmailField(blank=True, verbose_name='e-mail') def _get_full_name(self): return u'%s %s' % (self.first_name, self.last_name) full_name = property(_get_full_name) def __unicode__(self): return self.full_name 有了这个模型,我可以做到: >>> Author.objects.all() [<Author: John Doh>, <Author: Jane Doh>, <Author: Andre Miller>] >>> Author.objects.order_by('first_name') [<Author: Andre Miller>, <Author: Jane Doh>, <Author: John Doh>] 但我不能这样做: >>> […]

只在服务器端的FileField中接受某种文件types

我怎样才能限制FileField只接受某种types的文件(video,audio,PDF等)在一个优雅的方式,服务器端?

不是JSON可序列化的

我有以下ListView import json class CountryListView(ListView): model = Country def render_to_response(self, context, **response_kwargs): return json.dumps(self.get_queryset().values_list('code', flat=True)) 但是我得到以下错误: [u'ae', u'ag', u'ai', u'al', u'am', u'ao', u'ar', u'at', u'au', u'aw', u'az', u'ba', u'bb', u'bd', u'be', u'bg', u'bh', u'bl', u'bm', u'bn', '…(remaining elements truncated)…'] is not JSON serializable 有任何想法吗 ?

Django检查ManyToMany字段中是否有对象

我有一个相当简单的问题要解决。 我有合作伙伴模型有> = 0用户关联它: class Partner(models.Model): name = models.CharField(db_index=True, max_length=255) slug = models.SlugField(db_index=True) user = models.ManyToManyField(User) 现在,如果我有一个用户对象,并且有一个合作伙伴对象,那么检查用户是否与合作伙伴关联的最常见的Pythonic方法是什么? 我基本上需要一个语句,如果User关联到Partner ,则返回True。 我努力了: users = Partner.objects.values_list('user', flat=True).filter(slug=requested_slug) if request.user.pk in users: # do some private stuff 这工作,但我有一种感觉,有一个更好的办法。 另外,这将很容易卷入装饰,考虑到我需要一个命名参数( slug ))和请求对象( user )。 任何帮助将非常感激。

我可以有一个Django模型有一个外部参考自己?

好的,我该怎么做? class Example(models.Model): parent_example = models.ForeignKey(Example) 我想有一个模型有一个外键参考自己。 当我尝试创build这个我得到一个djangovalidation错误,示例尚未定义。

将额外的parameter passing给Django Rest Framework中的Serializer类

我想从Viewset传递一些参数给DRF Serializer类,所以我试过这个: class OneZeroSerializer(rest_serializer.ModelSerializer): def __init__(self, *args, **kwargs): print args # show values that passed location = rest_serializer.SerializerMethodField('get_alternate_name') def get_alternate_name(self, obj): return '' class Meta: model = OneZero fields = ('id', 'location') 查看 class OneZeroViewSet(viewsets.ModelViewSet): serializer_class = OneZeroSerializer(realpart=1) #serializer_class = OneZeroSerializer queryset = OneZero.objects.all() 基本上我想传递一些基于querystring从视图到Serializer类的值,然后这些将分配给字段。 这些字段不包含在模型中,实际上是dynamic创build的字段。 在这个问题stackoverflow相同的情况下,但我不明白的答案。 任何人都可以帮助我在这种情况下,或build议我更好的select。

用芹菜运行“独特”的任务

我使用芹菜更新我的新闻汇总站点的RSS订阅源。 我为每个feed使用一个@task,而且事情似乎很好。 有一个细节我不确定如何处理:所有的提要每分钟更新一次@periodic_task,但是如果一个提要仍然从最后一个定期任务更新,当一个新的启动? (例如,如果Feed非常慢或脱机,并且任务被保留在重试循环中) 目前我存储任务结果并检查他们的状态,如下所示: import socket from datetime import timedelta from celery.decorators import task, periodic_task from aggregator.models import Feed _results = {} @periodic_task(run_every=timedelta(minutes=1)) def fetch_articles(): for feed in Feed.objects.all(): if feed.pk in _results: if not _results[feed.pk].ready(): # The task is not finished yet continue _results[feed.pk] = update_feed.delay(feed) @task() def update_feed(feed): try: feed.fetch_articles() except socket.error, […]