序文開発プロセスでは、すべてのデータではなく特定の期間内のデータをクエリするなど、クエリのフィルタリングなどの機能に頻繁に遭遇します。 このように、期間パラメータをバックエンドに送信し、バックエンドでクエリを処理する必要があります。 ここでは、Django バックエンドと Vue フロントエンドの簡単な例を使用して、一般的な実装を記録します。 バックエンドデータベースここにいくつかの簡単なデータがあります。重要なのは日付です。日付に基づいてフィルタリングし、フロントエンドに返す必要があります。 モデル.py クラス CountDownSign(models.Model): 名前 = models.CharField(最大長=1000) 日付 = models.DateField() 符号 = models.CharField(最大長=200) シリアライザー.py ここでは drf フレームワークが紹介されていますが、クエリをフィルタリングするという考え方はこのフレームワークとは何の関係もありません。 クラス CountDownModelSerializer(serializers.ModelSerializer): クラスメタ: モデル = カウントダウンサイン フィールド = '__すべて__' def create(self, 検証済みデータ): CountDownSign.objects.create(**validated_data) を返します。 def update(self, インスタンス, 検証済みデータ): インスタンス名 = 検証済みデータ.get('名前', インスタンス名) インスタンスの日付 = 検証済みデータ.get('日付', インスタンスの日付) インスタンスのサイン = 検証済みデータ.get('サイン', インスタンスのサイン) インスタンスを保存() インスタンスを返す ビュー.py クエリをフィルタリングするためのインターフェースを提供します。フロントエンドから提供される開始日と終了日を取得します。コアコードは以下のとおりです obj = models.CountDownSign.objects.filter(date__range=(開始、終了)) クラス CountDownViewSet(ModelViewSet): parser_classes = [JSONParser、FormParser] 「ビューセット」 クエリセット = models.CountDownSign.objects.all() serializer_class = カウントダウンモデルシリアライザー # 検索 search_fields = ('id', 'name', 'sign', 'date') @action(メソッド=['post'], 詳細=False) def getSE(self, request, *args, **kwargs): 開始 = request.data.get('開始', なし) end = request.data.get('end', なし) 開始と終了の場合: obj = models.CountDownSign.objects.filter(date__range=(開始、終了)) オブジェクトの場合: ser = CountDownModelSerializer(インスタンス = obj、多数 = True) 印刷(ser.data) JsonResponseを返す({ 'コード': '200', 'msg': 'データが正常に取得されました', 'データ': ser.data }) それ以外: JsonResponseを返す({ 'コード': '1002', 'msg': '取得に失敗しました', }) それ以外: レスポンスを返す(ステータス=status.HTTP_204_NO_CONTENT) フロントエンドインターフェース開始時刻と終了時刻を受け取り、検索のイベントをバインドするための 2 つの日付ピッカーを次に示します。 <div class="datePicker"> <div class="block" style="float: left"> <el-日付ピッカー v-model="値1" タイプ="datetime" 値の形式="yyyy-MM-dd" placeholder="開始日を選択してください"> </el-date-picker> </div> <div class="block" style="float: left; margin-left: 20px;"> <el-日付ピッカー v-model="値2" タイプ="datetime" 値の形式="yyyy-MM-dd" placeholder="期限を選択してください"> </el-date-picker> </div> <el-button round style="float: left; margin-left: 20px;" @click="searchC">検索</el-button> </div> データ 実装されたインターフェース関数 エクスポート関数 searchCountDown(start, end) { リクエストを返す({ url: 'countDown/getSE/', メソッド: 'post'、 データ: { 開始: 開始、 終了: 終了 } }) } クリックイベントの実装 入力の正当性を判定し、データバインディング表示のためにデータを受け入れる 検索C() { コンソールにログ出力します。 コンソールにログ出力します。 (this.value1 < this.value2) の場合 { searchCountDown(this.value1, this.value2).then(res => { コンソールにログ出力します。 this.searchRes = res.data; }) } それ以外 { this.$message.error("時間範囲エラー"); } }, データ表示 <div class="article"> <ul> <li v-for="(item,index) in searchRes"> <div class="ui grid" style="幅: 100%;高さ: 60px;"> <div class="4 列幅"><span>{{ item.name }}</span></div> <div class="4 列幅"><span>{{ item.date }}</span></div> <div class="4 列幅"><span>{{ item.sign }}</span></div> <div class="4 列幅"> <el-button type="danger" icon="el-icon-delete" 円 @click="deleteC(item.id)"></el-button> <el-button type="primary" icon="el-icon-edit" 円></el-button> </div> </div> <div class="ui ディバイダー"></div> </li> </ul> 運用結果 返されたデータはすべて時間範囲内であることがわかります。ここで、2月25日0:00に返されたデータは、実際には2月5日のデータです。データがフォーマットされているため、25日のデータも返されます。 要約するこれで、Vue フロントエンドと Django バックエンドを使用して、一定期間内のデータをクエリする方法についての記事は終了です。Vue と Django のデータクエリに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
目次1 関数カリー化とは何ですか? 2 カレーの役割と特徴2.1 パラメータの再利用2.2 早期復帰...
この記事では、画像切り替え機能を実装するためのVue.jsの具体的なコードを参考までに共有します。具...
序文最近、フロントエンドの学習に関する以前のメモを整理したところ、モバイル Web 画面の適応 (r...
MySQLのインストール(4、5、6は省略可能)ステートメント: CentOS のバージョンは 7....
コンテナと呼ばれるものは、実際には親イメージに基づいて読み取りおよび書き込み可能なファイル階層を作成...
MyBatisインターセプターのページング機能を実装する方法序文:まず、実装原則についてお話しします...
目次1. Node.jsとVue 2. ローカル開発環境でフロントエンドのVueプロジェクトを実行す...
この記事では、jQuery キャンバスを使用して QR コード付きのポスターを生成するための具体的な...
目次ユーザー管理新しいユーザーを作成するユーザー名の変更ユーザーのパスワードを設定するルートパスワー...
問題を見つける最近、仕事中に問題が見つかりました。問題は、MySQL ディスクがいっぱいだったことで...
tcpdump は、ネットワークの問題のトラブルシューティングに効果的に役立つ、柔軟で強力なパケット...
目次1. Nginxロケーションの基本設定1.1 Nginx 設定ファイル1.2 Pythonスクリ...
質問最近、プライベートミラーセンターにログインする必要がありましたが、ログイン時にエラーメッセージが...
背景go-fastdfs は、http プロトコルをサポートする分散ファイルシステムです。一般的なプ...
目次1. マウスがカルーセル モジュール上を通過すると、左右のボタンが表示され、モジュールを離れると...