我一直在寻找一个框架来简化在Django应用程序中合理复杂的工作stream程的开发。 我想能够使用框架来自动化状态转换,权限,也许还有一些额外的审计日志和通知。 我已经看到了一些关于同一主题的较老的信息,但是在过去的2-3年中并没有太多的信息。 我听说的主要select是GoFlow(自2009年2月以来未更新)和django-workflow(似乎更加活跃)。 有没有人使用这些软件包? 它们是成熟的还是兼容现代的(1.3)Django? 有没有其他的select值得考虑,可能会更好或更好的支持?
我试图find一种方法来实现一个自定义的QuerySet和一个自定义Manager没有打破DRY。 这是我迄今为止: class MyInquiryManager(models.Manager): def for_user(self, user): return self.get_query_set().filter( Q(assigned_to_user=user) | Q(assigned_to_group__in=user.groups.all()) ) class Inquiry(models.Model): ts = models.DateTimeField(auto_now_add=True) status = models.ForeignKey(InquiryStatus) assigned_to_user = models.ForeignKey(User, blank=True, null=True) assigned_to_group = models.ForeignKey(Group, blank=True, null=True) objects = MyInquiryManager() 这工作正常,直到我做这样的事情: inquiries = Inquiry.objects.filter(status=some_status) my_inquiry_count = inquiries.for_user(request.user).count() 由于QuerySet与Manager没有相同的方法,因此会立即中断一切。 我试过创build一个自定义的QuerySet类,并在MyInquiryManager实现它,但是最终我复制了所有的方法定义。 我也发现这个代码片段可以工作,但是我需要将额外的parameter passing给for_user所以它会中断,因为它很大程度上依赖于重新定义get_query_set 。 有没有办法做到这一点,而无需在QuerySet和Manager子类中重新定义我的所有方法?
我试图发送一个简单的邮件使用IPython。 我还没有设置任何模型仍然得到这个错误。 可以做什么? 错误:/home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/models/fields/ init .py:827:RuntimeWarning:DateTimeField收到一个天真的date时间(2013-09-04 14:14:13.698105),而时区支持处于活动状态。 RuntimeWarning) 试过:第一步是将USE_TZ = True添加到您的设置文件并安装pytz (如果可能的话)。 错误更改: (learn)sourabh@sL:~/Django/learn/event$ python manage.py shell /home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py:53: RuntimeWarning: SQLite received a naive datetime (2013-09-05 00:59:32.181872) while time zone support is active. RuntimeWarning)
我已经阅读了关于Django和HTTP Push的所有问题和答案。 然而,没有人提供一个清晰,简洁,开始到终点的解决scheme,来解决如何完成所谓“彗星”function的基本“问候世界”。 第一个问题(1):为什么HTTP根本不是(至less到目前为止)为此做了什么? 所有的潜在解决scheme本质上是黑客? 2)目前最好的解决scheme是什么? 绕行? 其他一些基于扭曲的解决scheme? 龙卷风? Node.js的? XMPP w / BOSH? 其他的解决scheme? 3)nginx推送模块如何参与讨论? 4)哪些解决scheme需要replace典型的mod_wsgi / nginx(或apache)部署模型? 为什么他们需要这个? 无论如何,这是一个有利的过渡吗? 5)使用已经在Python中的解决scheme的优势有多大? 来自PyCon 2010的Alex Gaynor的介绍,我刚刚在blip.tv上看到,是惊人的和信息丰富的,但不是在Django的HTTP Push的当前状态。 他说的一件事给了我一些信心:轨道在抽象和模拟networking套接字的概念方面做得很好。 因此,当WebSockets实际登陆时,我们将处于一个转换的好地方。 6)HTML5 Websockets与当前的解决scheme有什么不同? Gaynor对轨道转换的容易度的评估是否准确?
我怎样才能得到一个所有的模型对象有一个ForeignKey指向一个对象的列表? (类似DELETE CASCADE之前的Djangopipe理员中的删除确认页面)。 我试图想出一个在数据库中合并重复对象的通用方法。 基本上我希望所有具有ForeignKeys指向对象“B”的对象都被更新为指向对象“A”,这样我就可以删除“B”而不会丢失任何重要的东西。 谢谢你的帮助!
用Django的其余框架3.0,并有这些简单的模型: class Book(models.Model): title = models.CharField(max_length=50) class Page(models.Model): book = models.ForeignKey(Books, related_name='related_book') text = models.CharField(max_length=500) 鉴于这个JSON请求: { "book_id":1, "pages":[ { "page_id":2, "text":"loremipsum" }, { "page_id":4, "text":"loremipsum" } ] } 我如何编写一个嵌套的序列化程序来处理这个JSON,给定的book每个page可以创build一个新的页面或更新(如果存在)。 class RequestSerializer(serializers.Serializer): book_id = serializers.IntegerField() page = PageSerializer(many=True) class PageSerializer(serializers.ModelSerializer): class Meta: model = Page 我知道用实例实例化序列化器会更新当前的序列化器,但是如何在嵌套序列化器的create方法中使用它?
可能重复: 只使用Django的一些部分? 只使用Django的数据库部分 我想单独使用Django ORM。 尽pipe在谷歌search了一个小时,我仍然留下了几个问题: 是否需要我使用setting.py,/ myApp /目录和modules.py文件来设置我的Python项目? 我可以创build一个新的models.py并运行syncdb以自动设置表和关系,还是只能使用现有的Django项目中的模型? 似乎有很多关于PYTHONPATH的问题。 如果你不打电话给现有的模型,这是需要的? 我猜最简单的事情是让别人发布一个基本的模板或stream程,澄清文件的组织结构,例如: db/ __init__.py settings.py myScript.py orm/ __init__.py models.py 基本要领: # settings.py from django.conf import settings settings.configure( DATABASE_ENGINE = "postgresql_psycopg2", DATABASE_HOST = "localhost", DATABASE_NAME = "dbName", DATABASE_USER = "user", DATABASE_PASSWORD = "pass", DATABASE_PORT = "5432" ) # orm/models.py # … # myScript.py # import […]
我想知道如何获取模板中的当前url。 说我的url是 /user/profile/ 如何将其返回到模板?
假设我们有以下模型: class Classroom(models.Model): room_number = [….] class Teacher(models.Model): name = […] tenure = […] classroom = models.ForeignKey(Classroom) 让我们说,而不是像ManyRelatedPrimaryKeyField函数得到这样的结果: { "room_number": "42", "teachers": [ 27, 24, 7 ] }, 有它返回的东西,包括完整的相关模型表示,如: { "room_number": "42", "teachers": [ { 'id':'27, 'name':'John', 'tenure':True }, { 'id':'24, 'name':'Sally', 'tenure':False }, ] }, 这可能吗? 如果是这样,怎么样? 这是一个坏主意吗?
我想提供两个不同的序列化器,但是能够从ModelViewSet所有工具中受益: 在查看对象列表时,我希望每个对象都有一个redirect到其细节的url,并且使用目标模型的_ _ unicode _ _显示其他关系。 例: [ { "membri": [ "emilio", "michele", "luisa", "ivan", "saverio" ], "creatore": "emilio", "url": "http://127.0.0.1:8000/database/gruppi/2/", "nome": "universitari", "descrizione": "unitn!", "accesso": "CHI" } ] 查看对象的详细信息时,我想使用默认的HyperlinkedModelSerializer ,例如: { "url": "http://127.0.0.1:8000/database/gruppi/2/", "nome": "universitari", "descrizione": "unitn!", "creatore": "http://127.0.0.1:8000/database/utenti/3/", "accesso": "CHI", "membri": [ "http://127.0.0.1:8000/database/utenti/3/", "http://127.0.0.1:8000/database/utenti/4/", "http://127.0.0.1:8000/database/utenti/5/", "http://127.0.0.1:8000/database/utenti/6/", "http://127.0.0.1:8000/database/utenti/7/" ] } 我设法按照以下方式按照我的意愿完成所有这些工作: serializers.py # serializer […]