我有两个型号"产品细节"和"状态"
class product_detail(models.Model):
modelNO=models.CharField(max_length=50)
Channels=models.CharField(max_length=50)
class status(models.Model):
machineinfo=models.ForeignKey(product_detail,on_delete=models.CASCADE)
state=models.IntegerField(blank=False,default='0')
在管理页面中,产品详细信息(例如:modelNO = RX100)将由工作人员添加,当添加产品详细信息时,.status还需要为该对象创建(modelNO = RX100)
现在"状态"当" product_detail"时,不会使用默认值创建在管理页面中创建。因此,当我使用以下代码更新状态数据时...显示错误obj=production_detail.objects.get(modelNO="RX100")
stobj=status.objects.get(machineinfo=obj)
显示错误
logs.models.DoesNotExist:状态匹配查询不存在
如何创建"状态" " product_detail"在管理页面中创建
admin.py
`class status_admin(admin.ModelAdmin):
model=status
list_display=("machineinfo","state")
class product_admin(admin.ModelAdmin):
model=production_detail
list_display=('modelNO','channels')
答案 0 :(得分:1)
您可以使用Signals:
from django.db.models.signals import post_save
#if a new object of product_detail is created then a new status should be created automatically
@receiver(post_save, sender=production_detail)
def create_status(sender, instance, created, *args, **kwargs):
if created:
obj = status(machineinfo=instance)
obj.save()