私の現在のプロジェクトでは、 djangoの管理インターフェース以外のユーザーをCRUDしたいと思います。
私の質問を次のように説明しましょう。
1-UserProfile
ユーザーの追加属性(学校、誕生日など)を保存するためにを使用しています
2-問題は、ユーザーを削除することで、実際のプロファイルではなくプロファイルを削除できることUser
です。
ユーザーの一覧表示と削除のコードをご覧ください。
def user_list(request):
''' Shows all of Students '''
return object_list(request,
queryset = UserProfile.objects.all() ,
template_name = 'user_list.html' ,
template_object_name = 'student'
)
def user_delete(request , id):
''' Deletes a student based on his/her ID '''
return delete_object(request,
model = UserProfile ,
object_id = id ,
template_name = 'delete_student.html' ,
post_delete_redirect = reverse("user_list")
)
UserProfile
ではなく削除しているのは正常に見えますUser
。しかし、私はそれが実際のプロキシになることを意図していましたUser
。ここで何かが恋しいですか?
3-一般的に言えば、各モデルを参照する必要がありますUser
かUserProfile
?たとえば、Courseのモデルがあるとします。これらのどれが正しい方法ですか?
class Course(models.Model):
#stuff
student = models.ForeignKey(Urer)
# OR ??
student = models.ForeignKey(UserProfile)