質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

385閲覧

管理画面で登録する際のリストの制限

Ryosuke.t

総合スコア12

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2021/09/27 07:06

前提・実現したいこと

現在、Djangoを使用しWebアプリ開発を行っています。
管理画面でclassにアイテムを追加する際ログインしているuserに紐づく項目のみ表示しかつ、紐づいていない項目は追加できないようにすることは可能でしょうか?
ご教授お願い致します。

models.py

python

1class User(AbstractBaseUser): 2 email = models.EmailField( 3 verbose_name='email', 4 max_length=255, 5 unique=True, 6 ) 7 company_id = models.ForeignKey(Companies, on_delete=models.CASCADE, null=True) 8 is_active = models.BooleanField(default=True) 9 is_admin = models.BooleanField(default=False) 10 is_superuser = models.BooleanField(default=False) 11 12 objects = UserManager() 13 14 USERNAME_FIELD = 'email' 15 REQUIRED_FIELDS = [] 16 17 def __str__(self): 18 return self.email 19 20 def has_perm(self, perm, obj=None): 21 return True 22 23 def has_module_perms(self, app_label): 24 return True 25 26 @property 27 def is_staff(self): 28 return self.is_admin 29 30class Companies(models.Model): 31 name = models.CharField(max_length=100) 32 33 def __str__(self): 34 return self.name 35 36class Partners(models.Model): 37 name = models.CharField(max_length=100) 38 company_id = models.ForeignKey(Companies, on_delete=models.CASCADE) 39 40 def __str__(self): 41 return self.name 42 43class items(models.Model): 44 name = models.CharField(max_length=100) 45 partner_id = models.ForeignKey(Partners, on_delete=models.CASCADE) 46 price = models.IntegerField( 47 blank=False, 48 null=False, 49 default=0, 50 ) 51 52 def __str__(self): 53 return self.name 54 55 56 57 58

イメージ

上記のitemsクラスに追加する際にログインしているuserのcompany_idに紐づいているpartner_idしか選択できない。

補足情報(FW/ツールのバージョンなど)

python 3.8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問