django inlines用法
Django 的 inlines 是用于在管理界面中嵌入相关模型的字段,以便在一个页面上进行编辑。它有两个子类:StackedInline(纵向嵌入)和 TabularInline(横向嵌入)。
以 OneToOneField 和 StackedInline 为例,代码如下:
```python
# models.py
class Engine(models.Model):
name = models.CharField(max_length=25)
def __str__(self):
return self.name
class Car(models.Model):
name = models.CharField(max_length=25)
engine = models.OneToOneField(Engine, on_delete=models.CASCADE)
def __str__(self):
return self.name
# admin.py
class EngineAdmin(admin.StackedInline):
model=Engine
@ister(Car)django admin 自定义页面
class CarAdmin(admin.ModelAdmin):
inlines = (EngineAdmin)
```
在上述代码中,Engine 和 Car 两个模型通过 OneToOneField 关联在一起,然后在 CarAdmin 类中使用 StackedInline 来嵌入 Engine 的字段,这样就可以在 Car 管理界面中同时编辑 Engine 的相关信息。
你也可以使用 TabularInline 类来在一个页面上编辑多个模型的字段,只需在 admin.py 中添加相应的 inlines 即可。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论