2016-10-14 2 views
0

私は最初のオプションを使用してユーザーモデルにフィールド 'posts'を追加するために上記を実装しようとしています。Djangoはauth_userにフィールドを追加します

models.py

from django.contrib.auth.models import User 

    class NewUserModel(models.Model): 
     user = models.OneToOneField(User, on_delete=models.CASCADE) 
     posts = models.IntegerField(default=0) 

views.py

def site_users(request): 
    site_users = User.objects.all().reverse() 
    paginator = Paginator(site_users, 10) 
    page = request.GET.get('page') 
    try: 
     users_model = paginator.page(page) 
    except PageNotAnInteger: 
     # If page is not an integer, deliver first page. 
     users_model = paginator.page(1) 
    except EmptyPage: 
     # If page is out of range (e.g. 9999), deliver last page of results. 
     users_model = paginator.page(paginator.num_pages) 

return render(request, 'site_users.html', {'users_model': users_model, 'current_time': timezone.now()}) 

しかし、どのように私は、テンプレート内の記事のフィールドを取得することができ、(更新、修正及び作業!)

{% for item in users_model %} 
     <tr> 
      <td><a href="{% url 'profile' item.id %}">{{ item.username }}</a></td> 
      <td>{{ item.newusermodel.posts }}</td> 
      <td></td> 
      <td></td> 
     </tr> 
     {% endfor %} 

sqlite3 DBのテーブルにはUserモデルはありませんが、auth_userはあります。ユーザーの代わりにそれを使用する必要がありますか?

enter image description here

+1

現在の時刻を渡す必要はありません。[nowタグ](https:// docs。 djangoproject.com/en/1.10/ref/templates/builtins/#now) –

+0

@JensAstrupありがとう、私はそれを認識しませんでした。乾杯! –

+1

auth_userはUserモデル –

答えて

1

users_modelNewUserModelを参照していないおかげで、それは、Userを参照しています。テンプレートの関連モデルには、次のようにアクセスする必要があります。

{% for item in users_model %} 
     <tr> 
      <td><a href="{% url 'profile' item.id %}">{{ item.username }}</a></td> 
      <td>{{ item.newusermodel.posts }}</td> 
      <td></td> 
      <td></td> 
     </tr> 
     {% endfor %} 
+0

おかげでこれで運、 ​​{{item.new_user_model.posts}} ABC それはフィールド」を読んでいないことを感謝し、now'にもかかわらず、 –

+0

私のIDEでこれを試してみましたが、 'item.new_user_model.posts'の代わりに' item.newusermodel.posts'に取り組んでいます。なぜ、私はかなり私はアンダースコアで終わるキャメルケースのモデルを持っていると確信しています... –

+0

アンダースコアを削除するために私の答えを編集する - ちょうど私の独自のコードで何か似たように見え、 、 ごめんなさい! –

関連する問題