Django admin 新增一对多
时间: 2023-10-15 21:08:25 浏览: 176
在django admin详情表单显示中添加自定义控件的实现
在 Django admin 中添加一对多关系的方法如下:
1. 在 models.py 文件中定义模型类,包含两个表,如下所示:
```python
from django.db import models
class Parent(models.Model):
name = models.CharField(max_length=50)
class Child(models.Model):
name = models.CharField(max_length=50)
parent = models.ForeignKey(Parent, on_delete=models.CASCADE)
```
2. 在 admin.py 文件中注册需要管理的模型类,如下所示:
```python
from django.contrib import admin
from .models import Parent, Child
class ChildInline(admin.TabularInline):
model = Child
extra = 1
class ParentAdmin(admin.ModelAdmin):
inlines = [ChildInline]
admin.site.register(Parent, ParentAdmin)
```
3. 在上述代码中,我们使用了 `TabularInline` 类,它可以让子表以表格的形式显示在父表的编辑页面中。你也可以使用 `StackedInline` 类,以堆叠的方式显示子表。
4. 保存上述代码并运行应用,你现在可以在 Django admin 中添加和编辑父表和子表的数据。
以上就是在 Django admin 中添加一对多关系的方法,希望对你有所帮助!
阅读全文