sql >> データベース >  >> RDS >> PostgreSQL

djangoは集計の日付から月を取得します

    スキーマを見てみましたか?列名が間違っていると思います。

    Djnago> =1.8を使用していると仮定すると、Funcを作成することで、問題全体を回避することもできます。 このように:

    class ExtractMonth(Func):
        template = "EXTRACT(MONTH FROM %(expressions)s)"
    
        def __init__(self, *expressions, **extra):
            extra['output_field'] = SmallIntegerField()
            super().__init__(*expressions, **extra)
           
    

    次のように使用します:

    Subscription.objects.annotate(Month=ExtractMonth('Modified'))\
                    .values('Month').annotate(Count('Month'))
    

    このように'Modified' はモデルのフィールドの名前であり、Djangoは列名を解決します。

    更新

    この1.9チケット で提案されているより一般的なソリューションがあります 。




    1. socket.ioでロングポーリングを実装する方法は?

    2. OracleのINSERTステートメント

    3. CONCAT()を使用してSQLServerで文字列を連結する方法

    4. SQLクエリでの一重引用符