在Django中,将作者姓名从文本模型呈现为外键可以通过以下步骤实现:
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
from django.db import models
class Text(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
def __str__(self):
return self.title
在上述代码中,我们创建了一个Author模型和一个Text模型。Text模型中的author字段被定义为外键,它引用了Author模型。on_delete=models.CASCADE表示当Author对象被删除时,与之相关联的Text对象也会被删除。
python manage.py makemigrations
python manage.py migrate
from django.shortcuts import render
from .models import Text
def text_detail(request, text_id):
text = Text.objects.get(id=text_id)
author = text.author
return render(request, 'text_detail.html', {'text': text, 'author': author})
在上述代码中,我们从数据库中获取了指定id的Text对象,并通过text.author获取了与之关联的Author对象。
<h1>{{ text.title }}</h1>
<p>Author: {{ author.name }}</p>
在上述代码中,我们使用{{ author.name }}来显示作者的姓名。
这样,我们就成功地将作者姓名从文本模型呈现为外键。在实际应用中,可以根据需要进行进一步的定制和扩展。
领取专属 10元无门槛券
手把手带您无忧上云