【发布时间】:2016-11-30 06:51:43
【问题描述】:
我的 django 应用中有一个 get_or_create(),它创建重复的行并为它们分配相同的 id。
stock_search, created = SearchRequest.objects.get_or_create(quote=quote, salesperson=user)
count() 不会多次计算这些行,但我对数据运行的任何查询都会返回重复的行。
任何想法可能导致这种情况发生?
模型定义
class SearchRequest(models.Model):
salesperson = models.ForeignKey(User, blank=True, null=True, related_name='sales')
purchaser = models.ManyToManyField(User, blank=True, null=True, related_name='purchaser')
datesent = models.DateTimeField(auto_now_add=False, verbose_name=("Date Sent"), blank=True, null=True)
notes = models.TextField(default='', blank=True, null=True)
full_search = models.BooleanField(verbose_name=("Full Search"), blank=True, default=False)
quote = models.ForeignKey('Quote.Quote', blank=True, null=True)
lead_time = models.ForeignKey('Logistics.LeadTime', blank=True, null=True)
call_list = models.BooleanField(verbose_name=("Call List"), blank=True, default=False)
email_list = models.BooleanField(verbose_name=("Email List"), blank=True, default=False)
accepted = models.ForeignKey(User, blank=True, null=True, related_name='search_accepted')
dateaccepted = models.DateTimeField(auto_now_add=False, verbose_name=("Date Accepted"), blank=True, null=True)
干杯
【问题讨论】:
-
你怎么称呼它?
-
您需要向我们展示一些代码。我们无法凭空想象如何解决您的问题。
-
我添加了一个代码示例,我尝试了不同的字段,得到了相同的结果。
-
这里的信息太少,无法解决您的问题,甚至无法证明您所说的正在发生。 ID 通常是唯一的,因此您如何获得具有相同 ID 的许多行是一个谜。这意味着我们需要了解您的模型是如何设置的。如果它们是唯一的并且您在查询中看到重复,我们需要查看该查询/代码以确定为什么存在重复以及是否有解决方法。有了这些小信息,我们基本上无能为力,只能说:“对不起,发生了。”
-
您添加的模型似乎与您在获取或创建中使用的模型没有任何关系。里面没有用户
标签: python django python-2.7 postgresql django-models