私の問題を解決するためにあなたの助けを得たいと思います。modelfieldからDjangoオブジェクトを取得するManytoMany
私はDjangoアプリケーションを持っています.Djangoアプリケーションは、重要なモデルのID:Societe
という名前です。 Identity_societe私は私のモデル、登場しているように見える新しいテーブルIdentity_societe_user移行
:
をclass Societe(models.Model):
Nom = models.CharField(null= False, max_length=70, verbose_name='Nom de Société')
...
#Some model fields
...
user = models.ManyToManyField(settings.AUTH_USER_MODEL, verbose_name="User Access", default=" ")
このモデルは、テーブルとしての私のデータベースに保存されます
この表はあるsociete = get_object_or_404(Societe, pk=id, user=request.user)
私の問題との一つまたは複数のユーザーのSociete
ページへのアクセスを提供します:Identity_societe_user:私はこの表からオブジェクトを取得するために克服していません。 私はたくさんのことを試しました:Societe_user
、Societe_User
、Societe.user
、...でも今までは何もありませんでした。
EDIT:
私はいくつかのことを更新します。私のmodel
で
、私が持っている:私のview
でuser = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name="User Access", default=" ")
を、私はsociete = get_object_or_404(Societe, pk=id, user=request.user)
を持っているので、どのようにI次のようなものを書くことができます:
societe = get_object_or_404(Societe, pk=id, user=request.user and user.username=="Admin")
にForeignKeyを持つ管理ユーザーとユーザーをSocieteモデルから許可するには、
のようなif文を追加することができ、非常によくあなたの質問を理解してなかったが?彼らは文字通りユーザーとソシエテの間のリンクです。 –
'user_id = 3'の' societe_id'を取り上げる必要があります(例です)。 'http:// myapplication/Societe/+ str(societe_id)' – Deadpool
これは多対多リレーションシップです。ユーザー3には** **複数のソーシャルIDがあります。必要なのは、ForeignKeyなどの異なるリレーションシップタイプを使用する必要があります。 –