私はコメントアプリケーションを作成して、必要な場所ならどこでも使用できるようにしようとしているのでContentType
、プロジェクトのさまざまなモデルにコメントを添付するために使用する必要があると思います。だからここに:
私のmodel
:
class Comment(models.Model):
user = models.ForeignKey(User, blank=True, null=True)
text = models.TextField((u'Текст комментария'))
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
私のview
:
def add_comment(request):
if request.method == 'POST':
form = CommentForm(request.POST)
if form.is_valid():
new_comment = Comment()
new_comment.text = request.POST['text']
new_comment.content_type = ???
new_comment.object_id = request.POST['object_id']
new_comment.user = request.user
new_comment.save()
return HttpResponseRedirect(request.META['HTTP_REFERER'])
else: ...
現在使用しているモデルのコンテンツ タイプを取得するにはどうすればよいですか? アプリNEWSとモデル投稿があるので、投稿にコメントしたいです。
を使用できることはわかっていますがContentType.objects.get(app_label="news", model="post")
、正確な値を取得しているため、コメントアプリは多目的ではありません。
PS下手な英語でごめんなさい。