2016-05-06 18 views
0

ich habe zwei Modell "Angaben zum Produkt" und "Status"django-need Modellobjekt zu erstellen, wenn im Zusammenhang forigenkey Modellobjekt erstellt wird

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') 

in Admin-Seite, Detail Produkt (zB: ModelNo = RX100) wird Wenn das Produktdetail hinzugefügt wird, muss .status auch für dieses Objekt erstellt werden (ModellNO = RX100)

Jetzt wird "status" nicht mit dem Standardwert erstellt, wenn "product_detail" in der Admin-Seite erstellt wird. so, wenn ich Daten in Status aktualisieren, indem unter code..it Verwendung zeigt Fehler

obj=production_detail.objects.get(modelNO="RX100")        
stobj=status.objects.get(machineinfo=obj) 

es zeigt Fehler

logs.models.DoesNotExist: Status passende Abfrage nicht

existiert wie man "Status" -Objekte automatisch erstellt, wenn "product_detail" auf der Admin-Seite

admin.py

erstellt wird
`class status_admin(admin.ModelAdmin): 
    model=status 
    list_display=("machineinfo","state") 

class product_admin(admin.ModelAdmin): 
     model=production_detail 
     list_display=('modelNO','channels') 
+0

Wie wäre es https://docs.djangoproject.com/en/1.9/topics/signals/? – trantu

Antwort

1

können Sie verwenden 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() 
+0

ok ich werde versuchen und sagen Sie mir, btw ich muss nur Status erstellen, wenn Produktdetail erstellt wird, nicht update ("post_save") – masternone

+0

** wenn erstellt ** ist die Bedingung – trantu

+0

oh ok thanku ill versuchen und Bericht – masternone