什么生成主子表代码

什么生成主子表代码
用户050165874
03月30日
|
浏览 13

生成主子表(Master-Detail)代码通常涉及在一个表格中显示主记录及其相关细节。以下是一个使用Python和Django的示例,展示如何生成一个包含主子表的数据库结构,并使用Django模板进行前端展示。

1. Django Models

首先,定义你的模型:

复制代码
# models.py
from django.db import models

class ParentModel(models.Model):
    name = models.CharField(max_length=255)

class ChildModel(models.Model):
    parent = models.ForeignKey(ParentModel, on_delete=models.CASCADE, related_name='children')
    details = models.TextField()

2. Django Admin

然后,注册你的模型到Django admin:

复制代码
# admin.py
from django.contrib import admin
from .models import ParentModel, ChildModel

class ChildInline(admin.TabularInline):
    model = ChildModel
    extra = 1

@admin.register(ParentModel)
class ParentModelAdmin(admin.ModelAdmin):
    inlines = [ChildInline]

3. Django Templates

最后,创建一个模板来显示主子表数据:

复制代码
<!-- templates/parent_detail.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Parent Detail</title>
</head>
<body>
    <h1>{{ parent.name }}</h1>
    <ul>
        {% for child in children %}
            <li>{{ child.details }}</li>
        {% endfor %}
    </ul>
</body>
</html>

4. Views and URLs

在视图和URLs中处理数据展示:

复制代码
# views.py
from django.shortcuts import render, get_object_or_404
from .models import ParentModel, ChildModel

def parent_detail(request, pk):
    parent = get_object_or_404(ParentModel, pk=pk)
    children = ChildModel.objects.filter(parent=parent)
    return render(request, 'parent_detail.html', {'parent': parent, 'children': children})
复制代码
# urls.py
from django.urls import path
from .views import parent_detail

urlpatterns = [
    path('parent/<int:pk>/', parent_detail, name='parent_detail'),
]

通过以上步骤,你就可以在Django中生成一个包含主子表的数据库结构,并使用模板展示相关数据。

如需继续排查,请点击下方【🔍追问按钮】提交补充信息

我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;
 
上一篇:likeshop多城市