我显然不明白如何正确地做到这一点,有人可以让我直截了当.这是模型:
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)
如果我连续两次提交,则会保存所有内容.哎呀!
我想在我的无服务器项目中使用多个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) 我正在尝试使用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.
另外,只是澄清checkStatus并checkErrorStatus做类似的事情:
export …Run Code Online (Sandbox Code Playgroud) 我有这些模型,我想根据数据构建表单:
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表中的每个Beverage为Location。每个人都需要一个时间戳,以便我们可以拥有历史。我想我知道我需要表单集,但是我没有成功弄清楚如何为此实现它们。所以,这有点像两部分:
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轴上的所有饮料.我正在努力解决的主要问题是如何查询我可以传递我可以循环的模板.思考?
我想知道什么样的设计最适合这个.我有一个远程获取的列表.让我们说这是一个帖子列表.
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)
但这似乎与如何使用反应和还原剂相对立.任何反馈表示赞赏!
django ×3
python ×3
ecmascript-6 ×1
es6-promise ×1
fetch-api ×1
forms ×1
javascript ×1
models ×1
promise ×1
reactjs ×1
redux ×1
report ×1