2016-05-06 5 views
0

私持っている2機種「商品詳細」と「状態」管理ページ、製品の詳細にジャンゴ-必要

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)意志(製品番号がRX100)

管理ページで "product_detail"が作成されたときに "status"がデフォルト値で作成されないようになりました。私はcode..it下に使用して、状態のデータを更新するときにエラーが

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

どのように? – trantu

答えて

1

あなたはSignals使用することができます。https://docs.djangoproject.com/en/1.9/topics/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私は試してみるよbtw製品の詳細が作成されたときにステータスを作成する必要がある、更新しない( "post_save") – masternone

+0

**作成された場合**状態が – trantu

+0

であるok thanku ill tr​​y and report – masternone