小编jas*_*les的帖子

Django unique_together不能防止重复

我显然不明白如何正确地做到这一点,有人可以让我直截了当.这是模型:

class Team(models.Model):
   teamID=models.CharField(max_length=255) #this will be generated on the iPad
   name=models.CharField(max_length=255)
   slug=models.SlugField(max_length=50) 
   teamNumber=models.CharField(max_length=30)
   checkIn=models.DateTimeField(default=datetime.now())
   totalScore=models.IntegerField(max_length=6) 

   class Meta:
       unique_together = ("teamID", "name", "slug", "teamNumber", "totalScore")
Run Code Online (Sandbox Code Playgroud)

如果我连续两次提交,则会保存所有内容.哎呀!

python django

24
推荐指数
3
解决办法
2万
查看次数

如何在无服务器框架中为多个dynamodb表定义iamrolestatements的资源?

我想在我的无服务器项目中使用多个dynamodb表.如何在iamrolestatements中正确定义多个资源?

我有一个例子 serverless.yml

service: serverless-expense-tracker
frameworkVersion: ">=1.1.0 <2.0.0"

provider:
  name: aws
  runtime: nodejs6.10
  environment:
    EXPENSES_TABLE: "${self:service}-${opt:stage, self:provider.stage}-expenses"
    BUDGETS_TABLE: "${self:service}-${opt:stage, self:provider.stage}-budgets"

  iamRoleStatements:
    - Effect: Allow
      Action:
        - dynamodb:Query
        - dynamodb:Scan
        - dynamodb:GetItem
        - dynamodb:PutItem
        - dynamodb:UpdateItem
        - dynamodb:DeleteItem
      Resource: "arn:aws:dynamodb:${opt:region, self:provider.region}:*:table/${self:provider.environment.EXPENSES_TABLE}"
      # what is the best way to add the other DB as a resource

functions:
  create:
    handler: expenseTracker/create.create
    events:
      - http:
          path: expenses
          method: post
          cors: true

  list:
    handler: expenseTracker/list.list
    events:
      - http:
          path: expenses
          method: get
          cors: true

  get: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-dynamodb serverless-framework

13
推荐指数
2
解决办法
4403
查看次数

使用fetch和ES6承诺处理自定义错误的最简洁方法

我正在尝试使用fetch和ES6 promises智能地处理来自API的成功/错误响应.

以下是我需要处理响应状态的方法:

204: has no json response, but need to treat as success
406: should redirect to sign in
422: has json for error message
< 400 (but not 204): success, will have json
>= 400 (but not 422): error, will not have json
Run Code Online (Sandbox Code Playgroud)

所以,我正在努力学习如何干净利落地写这个.

我现在有一些不太常用的代码,看起来像这样:

fetch()
  .then(response => checkStatus(response))
  .then(parseJSON)                           //will throw for the 204
  .then(data => notify('success', someMsg))
  .catch(error => checkErrorStatus(error))
  .then(parseJSON)
  .then(data => notify('error', dataForMsg)
  .catch(error => notify('error', someGenericErrorMsg)
Run Code Online (Sandbox Code Playgroud)

但是使用catch两次似乎很奇怪,我还不知道如何处理204.

另外,只是澄清checkStatuscheckErrorStatus做类似的事情:

export …
Run Code Online (Sandbox Code Playgroud)

javascript promise ecmascript-6 es6-promise fetch-api

8
推荐指数
1
解决办法
5083
查看次数

Django:创建动态表单

我有这些模型,我想根据数据构建表单:

class Location(models.Model):
    name=models.CharField(max_length=255)
    location_id=models.CharField(max_length=255)
    organization=models.CharField(max_length=255)

    def __unicode__(self):
        return self.name

class Beverage(models.Model):
    name=models.CharField(max_length=255)
    location=models.ForeignKey(Location)
    fill_to_standard=models.IntegerField(max_length=10)
    order_when_below=models.IntegerField(max_length=10)

    def __unicode__(self):
        return self.name

class Inventory(models.Model):
    location=models.ForeignKey(Location)
    beverage=models.ForeignKey(Beverage)
    units_reported=models.IntegerField(max_length=10)
    timestamp=models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)

这是我想要发生的事情,当用户去更新特定位置的库存时,我希望他们得到一个表格,列出该位置的所有可能的饮料(饮料因位置而异),然后创建一个Inventory表格这将创建在一个新行Inventory表中的每个BeverageLocation。每个人都需要一个时间戳,以便我们可以拥有历史。我想我知道我需要表单集,但是我没有成功弄清楚如何为此实现它们。所以,这有点像两部分:

  1. 我的模型设计是否适合这个问题?
  2. 我如何制作依赖于饮料数量的表格来构建自己?

python forms django models

5
推荐指数
1
解决办法
3376
查看次数

Django创建报告

class Beverage(models.Model):
    name=models.CharField(max_length=255)

    def __unicode__(self):
        return self.name

class Location(models.Model):
    name=models.CharField(max_length=255)
    beverages = models.ManyToManyField(Beverage, through='LocationStandard')
    location_number=models.CharField(max_length=255)
    organization=models.CharField(max_length=255)

    def __unicode__(self):
        return self.name

class LocationStandard(models.Model):
    beverage=models.ForeignKey(Beverage)
    location=models.ForeignKey(Location) #elim this or m2m
    start_units=models.IntegerField()
    fill_to_standard=models.IntegerField(max_length=10)
    order_when_below=models.IntegerField(max_length=10)

class Order(models.Model):
    location=models.ForeignKey(Location) #elim this or m2m
    beverage=models.ForeignKey(Beverage)
    units_ordered=models.IntegerField(max_length=10, default=0)
    order_delivered=models.BooleanField(default=False)
    timestamp=models.DateTimeField(auto_now_add=True)
    user=models.ForeignKey(User)
Run Code Online (Sandbox Code Playgroud)

如何生成一个报告,该报告将为我提供一个HTML表格,其中包含x轴上的所有位置以及y轴上的所有饮料.我正在努力解决的主要问题是如何查询我可以传递我可以循环的模板.思考?

python django report

5
推荐指数
1
解决办法
1384
查看次数

redux通过异步数据和交互来应对策略

我想知道什么样的设计最适合这个.我有一个远程获取的列表.让我们说这是一个帖子列表.

posts  {
    1: { title: 'some title', body: 'some body'},
    2: { title: 'another title', body: 'another body'}
}
Run Code Online (Sandbox Code Playgroud)

在此列表中,用户可以为操作选择每个帖子(甚至是批处理操作).假设在UI中每个小帖子都有一个复选框.

因此,后端并不关心这些选择操作,但我需要确切地知道选择哪些帖子(例如删除),以便前端可以向后端发送请求.处理它的一种方法是使状态的形状如下所示:

{
    posts  {
        1: { title: 'some title', body: 'some body'},
        2: { title: 'another title', body: 'another body'}
    }
    selectedPosts: [1, 2]
}
Run Code Online (Sandbox Code Playgroud)

但这可能会使UI中的渲染变得复杂.

然后另一种方法是在选择帖子时直接修改每个帖子的数据.像这样:

{
    posts  {
        1: { title: 'some title', body: 'some body', selected: true},
        2: { title: 'another title', body: 'another body'}
    }
}
Run Code Online (Sandbox Code Playgroud)

但这似乎与如何使用反应和还原剂相对立.任何反馈表示赞赏!

reactjs redux

4
推荐指数
1
解决办法
603
查看次数