2016-11-21 11 views
0

私はDjangoモデルを持っており、私のDjango管理者にこれをやろうとしています。条件に基づいてdjango管理モデルの異なる名前を表示

from django.contrib.auth.models import User 

class Patient(models.Model): 
    id = models.AutoField(primary_key=True) 
    patient_ID = models.ForeignKey(PatientProfile) 
    temp = models.CharField(max_length=10, blank=True, editable=True) 
    pulse = models.CharField(max_length=10, blank=True, editable=True) 

    class Meta: 
     if user.is_superuser:            
      verbose_name = "Doctor Consulting" 
      verbose_name_plural = "Doctor Consulting"   

     else:                  
      verbose_name = "Patients Details" 
      verbose_name_plural = "Patients Details" 

しかし、これは機能しません。私はすでに管理者にモデルを登録しています。 このようなエラーが発生します。

user.is_superuser場合: NameErrorユーザーが

が定義されていないすべてのヘルプは理解されるであろう。ありがとう

+2

Pythonでは大文字と小文字が区別されます。 'user =/= User' – Nf4r

+2

このエラーを解決したとしても、ここにインスタンスが含まれていないので、この方法ではできないとは思いません。これはおそらくあなたが管理ページで行うべきことです。 – Sayse

+0

@ Sayse Aaahは理にかなっています。私は管理テンプレートにいくつかのコードを追加しなければならないかもしれません。私はそれを試して見ます。 @ Nf4r、私は現在のコードを見て、エラーを修正します 'user =/= User' ありがとうございます。 –

答えて

0

調査の1週間後、私はDjangoのプロキシモデルについて知りました。これらのプロキシモデルには、冗長な名前を付けることができます。したがって、私は先に(同じ親モデルの)異なるプロキシモデルを登録して、ユーザーグループに応じて異なる冗長な名前を付けました。そのようです;

これで、djangoの管理者は、同じモデルですがどのユーザがどの冗長な名前を見ることができるかを選択できます。私はこれがいつか誰かを助けることを願っています。

関連する問題