Django フィルターを使用してユーザー プロファイルに基づいてデータへのアクセスを制限する

ムデニズム

私は Django 1.11 と Django Registration Redux 1.5 を使用しており、プログラミングは比較的初心者です。

ログインしたユーザーの組織に基づいてデータを表示するアプリケーションを作成しています。

以下のモデルを作成しました。

class Organization(models.Model):
organization_name=models.CharField(max_length=200)
organization_type=models.CharField(max_length=50)
organization_code=models.IntegerField()
organization_krapin=models.CharField(max_length=11)
organization_contactname=models.CharField(max_length=200)
organization_contactnumber=models.IntegerField()
tariff=models.ForeignKey("Tariff", on_delete=models.SET_NULL,
    blank=True,
    null=True,
    )

def __unicode__(self):
    return str(self.organization_name)

class OrganizationUserProfile(models.Model):
user=models.OneToOneField(User, unique=True)
organization=models.ForeignKey("Organization")

def __unicode__(self):
    return str(self.user)   

class OrganizationOrders(models.Model):
REBATE_OPTIONS = (
    ('Y', 'Yes'),
    ('N', 'No'),
    )
mobile_number=models.IntegerField()
order_status=models.BooleanField(default=False)
scored_data_id=models.CharField(max_length=200, null=True)
order_datetime=models.DateField(default=timezone.now)
order_udatetime=models.DateField(null=True, blank=True)
order_rebate_status=models.CharField(max_length=1, choices=REBATE_OPTIONS, default='N')
organization=models.ForeignKey("Organization")

def __unicode__(self):
    return str(self.mobile_number)

そして、ここに私のviews.pyがあります

from __future__ import unicode_literals
from django.shortcuts import render
from .models import OrganizationOrders001, OrganizationUserProfile

def orders(request):
if request.user.is_authenticated:

    context = {
        'organization_orders': OrganizationOrders.objects.all(),
    }
    return render(request, 'orders.html', context)
else:
    return render(request, 'base.html')

OrganizationUserProfile に登録されているユーザー プロファイルの Organization に基づいて OrganizationOrders をフィルタリングしたいと思います。

次に、組織フィールドが現在ログインしているユーザーの組織フィールドと一致する OrganizationOrders のみを表示します。

私はあなたの答えに感謝します。

rhys_gbs

クエリのこのフィルターは、あなたが望むことをする必要があります

from __future__ import unicode_literals
from django.shortcuts import render
from .models import OrganizationOrders, OrganizationUserProfile

def orders(request):
    if request.user.is_authenticated:
        context = {
            'organization_orders': OrganizationOrders.objects.filter(organization__organizationuserprofile__user=request.user.pk),
        }
        return render(request, 'orders.html', context)
    return render(request, 'base.html')

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

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

編集
0

コメントを追加

0

関連記事

Graphene / Djangoのユーザータイプに基づいてモデルのフィールドアクセスを制限する方法

Django-選択したユーザーに基づいてユーザープロファイルのアクセス許可を追加する方法

djangoのユーザーに基づいてモデルの特定のフィールドを制限する方法

Django: ログインしていないユーザーに静的フォルダーへのアクセスを制限する

Djangoは、モデルインスタンスに基づいてModelFormのManyToManyフィールドのオプションを制限します

Djangoカスタムユーザープロファイルフィールドにアクセスします

Django:CreateViewで現在のユーザーを取得し、これに基づいてForeignKey選択フィールドをフィルタリングする方法

Django-ユーザーグループに基づいてドロップダウンの選択肢をフィルタリングする

Django-ユーザーグループに基づいてドロップダウンの選択肢をフィルタリングする

Django DetailViewがM2Mフィールドのユーザーにアクセスしてアクセスを制限しますか?

Laravelのユーザーロールに基づいてデータアクセスを制限する

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

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

現在のユーザーdjangoモデル管理者に基づいてオブジェクトをフィルタリングする

Django:1対1のフィールドに基づいてユーザーの「変更/削除可能」権限を制限する

Django RESTFramework特定のシリアライザーフィールドへのユーザーアクセスを制限する方法

Django-カスタムユーザーモデルを使用してユーザーをユーザーグループに追加する際の問題

リクエストユーザーに基づいてデータを選択するDjangoフォーム

ログインしたユーザー名をdjangoのフィールド値として使用する

django-tables2でクラスベースのビューを使用してユーザーグループでフィルタリングしようとすると、self.userにアクセスできません

ユーザーがすでにログインしている場合は、PasswordResetViewでDjangoのreset_password形式へのアクセスを制限します

Django:ユーザーが参加しているグループのクエリフィルター

サイトに基づいて管理者へのユーザーアクセスを拒否するDjangoフック

ログインしている現在のユーザーに基づくDjangoデータベースルーティング

Wagtail / Django:ユーザーがアクセス/許可を持っているページのみを返すクエリフィルター?

Djangoレストフレームワークを使用してコンピューター内のファイルに写真をアップロードする方法

Python Social Authを使用して、Djangoの一連のユーザーへのGoogle-Oauth2ログインをフィルタリングまたは制限する

Django-プロファイルを使用してユーザーモデルを拡張しますが、ユーザーの種類も異なります

Djangoユーザーに任意の数のファイルをアップロードしてもらいたい

TOP 一覧

  1. 1

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  2. 2

    Spring Boot Filter is not getting invoked if remove @component in fitler class

  3. 3

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

  4. 4

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

  5. 5

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  6. 6

    androidsoongビルドシステムによるネイティブコードカバレッジ

  7. 7

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

  8. 8

    VisualStudioコードの特異点/ドッカー画像でPythonインタープリターを使用するにはどうすればよいですか?

  9. 9

    ビュー用にサイズ変更した後の画像の高さと幅を取得する方法

  10. 10

    二次導関数を数値計算するときの大きな誤差

  11. 11

    Ansibleで複数行のシェルスクリプトを実行する方法

  12. 12

    画像変更コードを実行してもボタンの画像が変更されない

  13. 13

    Reactでclsxを使用する方法

  14. 14

    Three.js indexed BufferGeometry vs. InstancedBufferGeometry

  15. 15

    __init__。pyファイルの整理中に循環インポートエラーが発生しました

  16. 16

    PyTesseractを使用した背景色のため、スクリーンショットからテキストを読み取ることができません

  17. 17

    値間の一致を見つける最も簡単な方法は何ですか

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    三項演算子良い練習の代わりとしてOptional.ofNullableを使用していますか?

  20. 20

    好き/愛の関係のためのデータベース設計

  21. 21

    エンティティIDを含む@RequestBody属性をSpringの対応するエンティティに変換します

ホットタグ

アーカイブ