在Django模板和表单中使用外键可以通过以下步骤实现:
Author
和Book
,其中Book
模型有一个外键指向Author
模型。from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
ModelForm
来自动生成表单字段。from django import forms
from .models import Book
class BookForm(forms.ModelForm):
class Meta:
model = Book
fields = ['title', 'author']
from django.shortcuts import render, redirect
from .forms import BookForm
def create_book(request):
if request.method == 'POST':
form = BookForm(request.POST)
if form.is_valid():
form.save()
return redirect('book_list')
else:
form = BookForm()
return render(request, 'create_book.html', {'form': form})
def book_list(request):
books = Book.objects.all()
return render(request, 'book_list.html', {'books': books})
create_book.html:
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">保存</button>
</form>
book_list.html:
<ul>
{% for book in books %}
<li>{{ book.title }} - {{ book.author.name }}</li>
{% endfor %}
</ul>
这样,就可以在Django模板和表单中使用外键了。在创建图书时,可以选择作者,而在图书列表中,可以显示图书的标题和对应的作者名字。
关于腾讯云相关产品和产品介绍链接地址,可以参考腾讯云官方文档和产品页面,具体根据实际需求选择合适的产品。
领取专属 10元无门槛券
手把手带您无忧上云