2016-09-04 7 views
0

views.pyとmodels.pyの関連部分を以下に示します。潜在的に新しいクライアントに新しい注文を登録しようとすると、タイトルにエラーが表示されます。私はnew_order = Order(client = client_used, kassa = cd['kassa'], no_boxes = cd['no_boxes'], pub_date = timezone.now(), notes = cd['notes'])行を削除しようとしましたが、それは問題を解決しませんでした。キーワード 'name'をフィールドに解決できません。クライアント、クライアントID、配信済み、ID、kassa、no_boxes、notes、pub_date

私はDjangoバージョン1.10とPython 2.7.10を使用します。前もって感謝します。トレースバックで書かれ

Views.py

def addclient(request): 
    if request.method == 'POST': 
     form = ClientForm(request.POST) 
     if form.is_valid(): 
      cd = form.cleaned_data 
      if Order.objects.filter(name = cd['name']).exists(): 
       client_used = Order.objects.get(name = cd['name']) 
      else: 
       client_used = Client(name = cd['name'], address = cd['address'], city = cd['city'], date_created=timezone.now()) 
      client_used.save() 

      new_order = Order(client = client_used, kassa = cd['kassa'], no_boxes = cd['no_boxes'], pub_date = timezone.now(), notes = cd['notes']) 
      new_order.save() 

      # redirect to a new URL: 
      return index(request) 

    # if a GET (or any other method) we'll create a blank form 
else: 
    form = ClientForm() 

    return render(request, 'clients/addclient.html', {'form': form}) 

Models.py

class Client(models.Model): 
    name = models.CharField(max_length=200) 
    address = models.CharField(max_length=200) 
    city = models.CharField(max_length=200) 
    date_created = models.DateTimeField('date created') 

    def __str__(self): 
     return self.name 

class Order(models.Model): 
    client = models.ForeignKey(Client, on_delete=models.CASCADE) 
    kassa = models.CharField(max_length=200) 
    no_boxes = models.IntegerField(default=0) 
    pub_date = models.DateTimeField('date published') 
    delivered = models.NullBooleanField(default=False) 
    notes = models.CharField(max_length=200) 

    def __str__(self): 
     return "Order #" + str(self.id) 

答えて

0

同様Orderモデルにはフィールドnameはありません。

if Order.objects.filter(name = cd['name']).exists(): 
    client_used = Order.objects.get(name = cd['name']) 
+0

ありがとう:ここ
は間違って行です。それは確かに 'クライアント'でなければなりません。 – bytefast

+0

@bytefastようこそ –

関連する問題