Django - 管理相关模型编辑
Django - admin related model editing
我正在努力解决一些问题,希望得到您的帮助
有 2 个模型:
def BigBox(models.Model):
title = textfield
date = datetimefield
author = foreignkey(user)
# other fields etc.
def SmallBox(models.Model):
title = textfield
contained_in = foreignkey(BigBox)
# little box that can be only in big box
我有办法在 BigBox adminModel 的 readonly_fields 中查看 SmallBox,但此时无法编辑或创建新的。
我需要做的(下面写的都适用于admin.ModelAdmin):
当你edit/creatingBigBox时,需要能够在里面创建新的相关SmallBoxes。
这意味着每个 BigBox 总是包含至少一个 SmallBox,并且每个 SmallBox 总是在任何一个 BigBox 中。
需要指定在 BigBox 中创建 SmallBox 的方法。
我认为实现此目的的最佳方法是使用 信号。
post_save() 信号要具体。
在声明两个模型 类 之后,定义一个方法来检查 BigBox 集是否包含 SmallBox 实例。如果不是,则创建 SmallBox 的实例并附加到 BigBox 实例。
参考:https://docs.djangoproject.com/en/dev/ref/signals/#post-save
示例:https://simpleisbetterthancomplex.com/tutorial/2016/07/28/how-to-create-django-signals.html
以上示例显示了如何使用 post_save.connect() 或使用 @receiver(post_save, sender=BigBox) 函数装饰器
我通过更好的搜索找到了解决方案。
这叫做'inlines'
https://docs.djangoproject.com/en/2.0/intro/tutorial07/#adding-related-objects
我正在努力解决一些问题,希望得到您的帮助
有 2 个模型:
def BigBox(models.Model):
title = textfield
date = datetimefield
author = foreignkey(user)
# other fields etc.
def SmallBox(models.Model):
title = textfield
contained_in = foreignkey(BigBox)
# little box that can be only in big box
我有办法在 BigBox adminModel 的 readonly_fields 中查看 SmallBox,但此时无法编辑或创建新的。
我需要做的(下面写的都适用于admin.ModelAdmin):
当你edit/creatingBigBox时,需要能够在里面创建新的相关SmallBoxes。
这意味着每个 BigBox 总是包含至少一个 SmallBox,并且每个 SmallBox 总是在任何一个 BigBox 中。
需要指定在 BigBox 中创建 SmallBox 的方法。
我认为实现此目的的最佳方法是使用 信号。
post_save() 信号要具体。 在声明两个模型 类 之后,定义一个方法来检查 BigBox 集是否包含 SmallBox 实例。如果不是,则创建 SmallBox 的实例并附加到 BigBox 实例。
参考:https://docs.djangoproject.com/en/dev/ref/signals/#post-save
示例:https://simpleisbetterthancomplex.com/tutorial/2016/07/28/how-to-create-django-signals.html
以上示例显示了如何使用 post_save.connect() 或使用 @receiver(post_save, sender=BigBox) 函数装饰器
我通过更好的搜索找到了解决方案。
这叫做'inlines' https://docs.djangoproject.com/en/2.0/intro/tutorial07/#adding-related-objects