2016-11-22 8 views
0

登録ユーザーが画像をアップロードできるフォームを作成します。モデル、フォーム、ビューを作成できます。私の唯一の問題は、ユーザーが週に2つのファイルをアップロードできるようにすることです。 2つのファイルがインストールされている場合は、フォームをパッシブにする必要があります。あなたが私の限界をどうやって手助けすることができれば、私は幸せになれます。Django - Weekly Upload Form Limit

+0

これまでに試したことを示してください。受動的なフォームについては、無効にすることを意味しますか? – lucasnadalutti

+0

はい、無効にしたいと思います。 –

答えて

0

基本的にはあなたが最初のショットは、この情報を格納するために、別の構造を必要とする:

  1. は、フィールドでの追加モデルを作成します:ID、USER_ID、upload_dateは、
  2. ユーザーがアップロードを行うたびにFILE_ID - 追加上記のモデル/テーブルに行
  3. 、アップロードの前には、チェックを行う - 最後の2週間でユーザーのためにアップロードされたファイルの数 - これは、そのようなものです:

    def can_upload(user_id): 
        now = now() 
        two_weeks_ago = now - timedelta(days=14) 
        upload_count = UploadFileLog.objects.filter(
         user_id=user_id, 
         upload_date__gte=two_weeks_ago, 
         upload_date__lte=now 
        ).count() 
        return upload_count < 2 # you can make constant for '2' 
    
  4. また、ページ上のアップロードフォームのオン/オフをtruninにして、結果をテンプレートに渡すこともできます。

希望します。

+0

ありがとう@ sebastian-opałczyńskiご協力いただきありがとうございます。 :) –