gpt4 book ai didi

django - 每次运行 django 代码时如何创建新的 postgreSQL 行以保存数据

转载 作者:行者123 更新时间:2023-11-29 13:50:20 24 4
gpt4 key购买 nike

我现在怀疑当我执行我的脚本时我是否能够连续保存它

我的 models.py 有 2 个表(或类)页面和类别

from django.db import models

class Category(models.Model):
name = models.CharField(max_length=128, unique=True)

def __unicode__(self):
return self.name

class Page(models.Model):
category = models.ForeignKey(Category)
title = models.CharField(max_length=128)
url = models.URLField()
views = models.IntegerField(default=0)
price = models.IntegerField(default=0)



def __unicode__(self):

返回self.title

此代码是我的 views.py 的片段


Category.objects.all()
f = Category()
Page.objects.all()
p = Page()
p.category = f

x = India(symb)

f.name = x['Company Name']
f.save()


p.category = f
p.title = symb
p.price = float(x['Price'])
p.save()

当我再次或每次执行它时,它会覆盖同一行,这在我使用它的方式上是有意义的。

如何在每次运行脚本时创建新行,以便将新数据保存在新行中而不是覆盖同一行

我想每次运行脚本时使用 python 'random' 从列表中随机选择一个字母(例如 g),然后加入它以获得类似 'g.price' 的东西,但是这有 26 个字母的限制,随机但不是唯一的,因此可以生成相同的字母(尽管我可以对此进行“如果”检查)。

有没有简单正确的方法来做到这一点?

最佳答案

模型.py:-

from django.db import models

class Category(models.Model):
name = models.CharField(max_length=128, unique=True)

def __unicode__(self):
return self.name

class Page(models.Model):
name = models.ForeignKey(Category)
title = models.CharField(max_length=128)
url = models.URLField()
views = models.IntegerField(default=0)
price = models.IntegerField(default=0)



def __unicode__(self):

views.py:-

如果您想更新特定类别的页面,请按照以下步骤操作:-

a = Category.objects.get(name=nameField) #Fetch reference object for which category name you want to add page

x = India(symb)

b = Page.objects.filter(name=a).update(title=symb,price = float(x['Price']))

如果你想添加新的类别和页面都遵循这个:-

x = India(symb)

a = Category.objects.create(name = x['Company Name'])

b = Page.objects.create(name=a,title=symb,price = float(x['Price']))

b.save()

关于django - 每次运行 django 代码时如何创建新的 postgreSQL 行以保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42251095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com