Django:組み込みのユーザーモデルフィールドを使用してモデルインスタンスを作成します

feher007

だから私は車のモデルを持っています。そして、提出されたすべての車はユーザーに割り当てられます。また、すべてのユーザーには、車を送信できる独自のダッシュボードがあります(ログインしているユーザーのみ)。

from django.db import models
from django.contrib.auth.models import User

class Car(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE,null=True)
    model_car= models.CharField(max_length=200)
    description = models.TextField()
    car_image = models.ImageField(null=True, blank=True)
    date_created = models.DateTimeField(auto_now_add=True)

これは私が車を作成するforms.pyです。そして、このフォームをフロントエンドにレンダリングします。

from django import forms
from django.forms import ModelForm
from tasks.models import Car

class CreateCarForm(ModelForm):
    class Meta:
        model=Car
        fields='__all__'
        exclude = ('user',)

Views.py

def create_car(request):
    
    form = CreateCarForm()
    if request.method=="POST":
 
        form = CreateCarForm(request.POST,request.FILES)
        if form.is_valid():
            form.save()
            messages.success(request,'Car was Created')
            return redirect('create_car')

    context={'form':form}
    return render(request, 'dashboard/create_car.html',context)

これで、車のインスタンスが作成されますが、ユーザーは選択されません。私がやりたいのは、このCarインスタンスを作成することですが、userフィールドで、現在ログインしているユーザーのユーザー名を自動的に割り当てます。

どうすればこれを達成できますか?

ウィレムヴァンオンセム

:でラップされた.userインスタンスのインスタンスを設定できますCarCreateCarForm

from django.contrib.auth.decorators import login_required

@login_required
def create_car(request):
    form = CreateCarForm()
    if request.method=='POST':
        form = CreateCarForm(request.POST,request.FILES)
        if form.is_valid():
            form.instance.user = request.user
            form.save()
            messages.success(request,'Car was Created')
            return redirect('create_car')

    context={'form':form}
    return render(request, 'dashboard/create_car.html', context)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

組み込みのユーザーモデルを使用して画像をアップロードするDjango

CanCanCanは、ユーザーが属するモデルのインスタンスのみを表示します

Django:ユーザーモデルのリターンフィールドをカスタマイズする

カスタムユーザーモデルのフィールドをDjango管理者に追加します

カスタムユーザーモデルのフィールドをDjango管理者に追加します

Djangoメタクラス-ユーザーのモデルフィールドに順序を適用します

CSVへのスパークデータフレームの書き込みは、スタンドアロンクラスタモードで_temporaryディレクトリのファイルを作成します

ログインユーザーをユーザー名ではなくNoneとして読み取るDjangoモデル所有者フィールド

別のモデルのインスタンスに基づいてDjangoでモデルを作成する方法、ただしフィルタリング済み

エンドユーザーモデルを使用したタスクモデル

Djangoでユーザー組み込みモデルを使用する

ユーザー名フィールドとして電子メールを使用してカスタムユーザーモデルのユーザーにログインする

カスタムユーザーモデルを使用したフィールドのフィルタリング-Django

Djangoのインスタンスが現在のユーザーであるモデルを確認します

リソースからタスクバーアイコンを読み込み、Prismを使用してビューモデルを挿入します

組み込みのPythonモジュールを使用してWebフォームデータに入力する

DRFは、モデルインスタンスを更新または作成するためだけに、モデル以外のフィールドを追加します

forループを使用してモデルインスタンスの複数のフィールドを保存する-Django

Djangoは、フィルター処理されたモデルインスタンスのグループ全体で最大フィールド値を取得します

プロファイルモデルからユーザーインスタンスを取得します

forループを使用して複数のDjangoモデルインスタンスを作成する

複数のフィールドを埋め込み形式で変換するモデルトランスフォーマーを追加します

ユーザーがモデレートしているチャンネルのみにチャンネルをフィルタリングする

モデルdjangoのステータスフィールドをチェックしてユーザーにメールを送信する方法は?

レールを使用して、モデルのインスタンスを毎日自動的に作成します

djangoモデルでハイパーリンクとしてモデルフィールドを作成する方法

WooCommerce csv import custom fields-組み込みのインポーターを調整してカスタムフィールドを含めますか?

現在ログインしているユーザーをモデルフィールドのデフォルト値として割り当てます

共通モデルを使用したウィザードスタイルのユーザーコントロールのWPFナビゲーション

TOP 一覧

  1. 1

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    CSSのみを使用して三角形のアニメーションを作成する方法

  4. 4

    ドロップダウンリストで選択したアイテムのQComboBoxスタイル

  5. 5

    ZScalerと証明書の問題により、Dockerを使用できません

  6. 6

    PyCharmリモートインタープリターはプロジェクトタブにサイトパッケージのコンテンツを表示しません

  7. 7

    Windows 10でのUSB入力デバイスの挿入/取り外しの検出

  8. 8

    Excel - count multiple words per cell in a range of cells

  9. 9

    PictureBoxで画像のブレンドを無効にする

  10. 10

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  11. 11

    スタート画面にシャットダウンタイルを追加するにはどうすればよいですか?

  12. 12

    Python / SciPyのピーク検出アルゴリズム

  13. 13

    Luaの文字列から特定の特殊文字を削除するにはどうすればよいですか?

  14. 14

    Pythonを使用して、リストからデータを読み取り、特定の値をElasticsearchにインデックス付けするにはどうすればよいですか?

  15. 15

    LinuxでPySide2(Qt for Python)をインストールするQt Designerはどこにありますか?

  16. 16

    goormIDEは、ターミナルがロードするデフォルトプロジェクトを変更します

  17. 17

    QGISとPostGIS(マップポイント(米国の地図上にraduisを使用した緯度と経度)

  18. 18

    MLでのデータ前処理の背後にある直感

  19. 19

    ターミナルから「入力ソースの変更」ショートカットを設定する

  20. 20

    パンダは異なる名前の列に追加します

  21. 21

    同じクラスの異なるバージョンを使用したクラスローディング:java.lang.LinkageError:名前の重複クラス定義を試行しました

ホットタグ

アーカイブ