这是我的代码
try:
with transaction.atomic():
SysPay.objects.bulk_create([
SysPay(
pay_way = '1',
pay_account = request.POST.get('first_pay_account', ''),
pay_appid = request.POST.get('first_pay_appid', ''),
pay_key = request.POST.get('first_pay_key', ''),
),
SysPay(
pay_way = '2',
pay_account = request.POST.get('second_pay_account', ''),
pay_appid = request.POST.get('second_pay_appid', ''),
pay_key = request.POST.get('second_pay_key', ''),
pay_pid = request.POST.get('second_pay_pid', ''),
),
])
这是我的模特
class SysPay(models.Model):
id = models.CharField(primary_key=True, max_length=64)
pay_way = models.CharField(max_length=4, blank=True, null=True)
pay_account = models.CharField(max_length=20, blank=True, null=True)
pay_appid = models.CharField(max_length=64, blank=True, null=True)
pay_key = models.CharField(max_length=64, blank=True, null=True)
pay_pid = models.CharField(max_length=20, blank=True, null=True)
stand_rate = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True)
stand_rate_limit = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True)
org_rate = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True)
org_rate_limit = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True)
第一个问题:
这么多" request.POST.get"在这里。有什么方法可以让它更加pythonic?我曾尝试过request.body,但我不知道如何像这样选择单个值。
第二个问题:
当我使用SysPay.objects.create(...)来编写数据时,它运行良好。但是当涉及到SysPay.objects.bulk_create([...])时,它无法将数据一起写入数据库