我在django做一个网络应用程序。最初我只考虑过一家商店。但现在我正在考虑将其作为Web应用程序实现。我正在使用postgres。我担心的是每天都会产生大量100k左右的物体。我在考虑每个客户的单独数据库。这是个好主意吗?
创建对象的模型是
class Invoice(models.Model):
now = dt.now()
cash_user = models.CharField(max_length=250, null=True, blank=True)
pwt = models.IntegerField()
dc = models.IntegerField()
total = models.IntegerField()
def _get_payable(self):
amt_payable = total - pwt - dc
return amt_payable
payable = property(_get_payable)
def __str__(self):
return str(self.id)
class Set(models.Model):
party = models.ForeignKey(UserProfile, null=True, blank=True)
serial = models.CharField(max_length=5, null=True,blank=True)
starting = models.IntegerField()
ending = models.IntegerField()
base = models.ForeignKey(base)
invoice = models.ForeignKey(Invoice, null=True, blank=True)
purchaseset = models.ForeignKey(Purchase, null=True, blank=True)
dtime = dt.now()
def _get_count(self):
"Returns the total count of tickets in one set"
return self.ending - self.starting + 1
count = property(_get_count)
def _get_price(self):
"Returns total price of a set"
return self.party__unitprice * count
price = property(_get_price)
def __str__(self):
return str(self.base)+':'+str(self.dtime.date())+':'+str(self.dtime.time())
我必须为开始和结束指定的范围内的每个条目创建对象。即,如果起始是100000并且结束是110000,那么如果该发票仅包含该一个条目,则生成一个发票对象必须创建另一个模型的10000个对象。这是因为我必须跟踪每个单独的项目。如果网络应用只针对一个客户,我想我可以管理这个。我可以使用objects.create()
,objects.filter()
和objects.get()
等方法使用django orm创建和管理对象吗?