我正试图解决一些问题,我希望你能帮助我
有两种模式:
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我有一种方法可以查看SmallBoxes in readonly_fields of BigBox adminModel,但此时无法编辑或创建新的。
我需要(下面所写的所有内容都适用于admin.ModelAdmin):
当您编辑/创建BigBox时,需要能够在内部创建新的相关SmallBoxes。
这意味着每个BigBox总是包含至少一个SmallBox,而每个SmallBox总是包含在BigBox的任意一个中。
需要指定在SmallBoxes内部创建BigBox的方法。
发布于 2018-06-22 09:52:58
我通过更好的搜索找到了解决方案。
这被称为“内联”https://docs.djangoproject.com/en/2.0/intro/tutorial07/#adding-related-objects
发布于 2018-06-21 15:35:54
我认为实现这一目标的最好方法是使用信号。
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)装饰器。
https://stackoverflow.com/questions/50971705
复制相似问题