2014-05-15 2 views
0

foreignKey 사용 방법은 무엇입니까?foreignKey 사용 방법은 무엇입니까?

class Gender(models.Model):  
    gender = models.CharField(
     max_length=10, 
     blank=False, 
    ) 

class UserProfile(User): 
    name1 = models.CharField(
     'Имя', 
     max_length=30, 
     blank=True, 
     null=True, 
    ) 
    gender = models.ForeignKey(
     Gender, 
     default=0, 
    ) 

비품 :

[ 
    { 
     "model": "drummersaransk.Gender", 
     "pk": 1, 
     "fields": { 
      "gender": "none" 
     } 
    }, 
    { 
     "model": "drummersaransk.Gender", 
     "pk": 2, 
     "fields": { 
      "gender": "male" 
     } 
    }, 
    { 
     "model": "drummersaransk.Gender", 
     "pk": 3, 
     "fields": { 
     "gender": "female" 
     } 
    } 
] 

views.py :

def user_personal(request, id):  
    entries_user_profile = UserProfile.objects.get(user_ptr_id=id)   

    t = loader.get_template('user_personal.html') 
    c = RequestContext(request, { 
     'entries_user_profile': entries_user_profile, 
    }) 
    return HttpResponse(t.render(c)) 

검색 및 디스플레이 데이터 외래 키

models.py를 사용하여 도와주세요 user_personal.html :

{% if entries_user_profile.gender_id %} 
    <tr> 
     <td class="label">Пол</td> 

     <td class="gender info">{{ entries_user_profile.gender_id }}</td> 
    </tr> 
{% endif %} 

문제는 성별 (남성 또는 여성 없음) 테이블 성별의 출력 값

답변

1

당신에게 아웃 gender.id하지 성 이름이되지 않는 것입니다.

<td class="gender info">{{ entries_user_profile.gender.gender }}</td>

UPDATE

어쩌면 choices 사용자의 성별을 저장하는 더 좋은 방법은 함께이

<td class="gender info">{{ entries_user_profile.gender_id }}</td>

를 교체하십시오. 확인해보세요. https://docs.djangoproject.com/en/dev/ref/models/fields/#choices