banana_777
@banana_777

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Django リクエストで送られる値をデータベースに登録するにはどのように実装すればよいのでしょうか

Q&A

Closed

解決したいこと

Djangoでwebアプリを作成中です。
データベースを登録するフォーム画面の作成はできました。実際にフォームからデータを作成し、一覧画面を表示させるところまではできました。

次にやりたいこととしては
http://hogehoge?obj1="123"&obj2="こんにちは"
というようなリクエストに対してデータベースに『123/こんにちは』というデータを登録させたいと思っています。

このような仕組みを実装したい場合はどのようにすればいいのか見当がつきません。
どなたかご教授いただけないでしょうか。よろしくお願いいたします。

環境

Python3.6
Django3.1.2
VisualStudio2017
MySQL

0

2Answer

Comments

  1. おそらくクエリパラメータの取得の仕方がわからないて困っているのかと思ったので、間違っていたら、教えて下さい!
  2. @banana_777

    Questioner

    返信ありがとうございます!

    この記事の内容はmodels.pyに記述しているのでしょうか?
    その場合views.pyはどのように書けばよいのでしょうか?
    (この記事を書いたご本人ではないのにこんなことを聞いてしまって申し訳ないのですが...)


    クエリパラメータを取得し、画面上に表示(本文で言えば『123/こんにちは』と表示)させることはできました。なので取得の方法はなんとなくわかりました。
    ただ、データベースへの登録をどのようにすればよいか全くわからないのです...
    (リクエストに対してデータの登録をしたいのでAPIかな?とも思っていますが...)

@banana_777
すみません、返信が遅くなりました。
あと、回答コメントでコードブロックを使えないので、こちらに書きました。

まず、取得したクエリパラメータを保存するための準備が必要です。

モデルにクエリパラメータで取得した文字列を保持するためのフィールドを定義します(以下の場合は値を保持するためのモデルを新たに作っています)

models.py
class MyModel(models.Model):
  obj1 = models.CharField(max_length = 100)
  obj2 = models.CharField(max_length = 100)

次に、クエリパラメータを取得し、それを保存する処理を書きます。

views.py
# クエリパラメータを取得
q_obj1 = request.GET.get("obj1")
q_obj2 = request.GET.get("obj2")

# 保存する
m = MyModel(obj1=q_obj1, obj2=q_obj2)
m.save()

Modelについてはhttps://python.keicode.com/django/model-data-access-basics.php を読むといいかもしれないです。

0Like

Your answer might help someone💌