I code my project using Django 1.8. This is my model class.
# encoding: utf-8
from django.contrib.auth.models import User
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.utils.timezone import now
from .algo import algo
from django.http import HttpResponse
@python_2_unicode_compatible
class Key_Gen(models.Model):
key_beging_code =models.DecimalField('Brand_name +Pack_size' ,max_digits=5, decimal_places=2)
key_quantity =models.DecimalField("key Quantity" ,max_digits=19, decimal_places=10)
key_code =models.CharField('key Code' ,max_length=50 , unique=True)
is_public = models.BooleanField('public', default=True)
date_created = models.DateTimeField('date created',auto_now_add=True)
date_updated = models.DateTimeField('date updated',auto_now_add=True)
class Meta:
verbose_name='key_Gen'
verbose_name_plural='keys_Gen'
ordering = ['-date_created']
def __str__(self):
return '%s' % (self.key_code)
def get_key_code(self,x,y):
alist = []
x = algo(int(x),int(y),alist)
keys =x.id_generator()
return keys
def save(self, *args, **kwargs):
if not self.key_code:
self.key_code_temp =self.get_key_code(self.key_beging_code,self.key_quantity)
self.key_code_temp =self.get_key_code(self.key_beging_code,self.key_quantity)
i=0;
for x in self.key_code_temp:
i +=1;
self.key_code = self.key_code_temp[i-1]
super(Key_Gen, self).save(*args, **kwargs)
I call algo function and it return data list from this function.
self.key_code_tempt=self.get_key_code(self.key_beging_code,self.key_quantity) #eg . ['001R','OU3R', '4002']
I want to send this data one by one to database table.but current send only one value to database.
I put for loop to iterate my list and call '.save' method repeatedly.but I doesn’t show it call repeatedly. I am new comer to python web programming and hope some expert help.I notice key list is pass well , but for loop inside save method run only once.
============view class code==================================
@login_required
def key_create(request):
if request.method == 'POST':
form = KeyGenarateForm(data=request.POST)
if form.is_valid():
request.POST._mutable = True
Key_Gen = form.save(commit=False)
Key_Gen.save()
return redirect('marcador_bookmark_user',username=request.user.username)
else:
form = KeyGenarateForm()
context = {'form': form, 'create_key': True}
return render(request, 'marcador/key_genarate_form.html', context)
Aucun commentaire:
Enregistrer un commentaire