我有多个用 nodejs 或 python/django 编写的应用程序或......这些服务工作正常。但是需要相互之间有 pub/sub 异步通信。
在 nodejs 中没有问题,可以轻松地发布/订阅任何 redis 频道。
问题:我的问题是如何持续订阅一个 redis 频道并接收其他服务发布的数据?
注意:许多链接建议使用 django-channels。但我想这不是这样做的方法。如果是这样,任何人都可以帮助我并详细说明如何做到这一点。
更新: 默认情况下,Django 不像 nodejs 那样基于事件。因此,如果我使用 redis 客户端,例如,我应该每秒检查一次 redis,看看是否发布了任何内容。我认为在 python 中只使用一个 redis 客户端是不够的。
真的很感激。
我正在尝试从这个 github 源中克隆 BlueWallet 。
我克隆了项目并安装了所需的包。此外,模拟器正在运行 android studio AVD。
但是每当我尝试运行npm start android
它时,它都会挂在文本上Loading dependency graph, done.
,不会再发生任何事情!
这很奇怪,因为每当我尝试运行相同的场景和命令来启动连接到模拟器的纯 react-native 时,它都可以正常工作。
结果npm start android
如下:
$ npm start android
> BlueWallet@3.8.3 start /home/Learning/ReactNative/BlueWallet
> node node_modules/react-native/local-cli/cli.js start "android"
?????????????????????????????????????????????????????????????????????????????? ??
? ?
? Running Metro Bundler on port 8081. ?
? ?
? Keep Metro running while developing on any JS projects. Feel free to ?
? close this tab and run your own Metro instance …
Run Code Online (Sandbox Code Playgroud) 我使用 django-rest-framework 在 Django 框架内创建 Rest API。并且可以返回validationError
序列化器方法之外的任何内容。
save()
但是,我想知道是否有可能从django模型的方法返回错误并转换为 django rest validationError
?
例如,假设我想限制在特定表上创建对象。像这样:
class CustomTable(models.Model):
... # modles fields go here
def save():
if CustomTable.objects.count() > 2:
# Return a validationError in any serializer that is connected to this model.
Run Code Online (Sandbox Code Playgroud)
注意我可以使用raise ValueError
或raise ValidationError
,但它们都会在端点上导致 500 错误。但我想在我的 api 视图中返回一个响应,例如“已达到限制”
django django-models django-serializer django-rest-framework
我有一个像 Django 模型。它存储了一段时间内发生的总交易。
class Transaction(models.Model):
amount = models.FloatField()
seller = models.ForeignKey(User, related_name='sells', on_delete=models.CASCADE)
buyer = models.ForeignKey(User, related_name='purchased', on_delete=models.CASCADE)
created_at_date = models.DateField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)
是我怎样才能找到每天的交易总额。对于每一天,它应该计算当天所有交易的总和。
例如,我需要在过去 7 天内执行此操作。
例如,我有一个这样的模型:
class Transaction(models.Model):
amount = models.FloatField()
seller = models.ForeignKey(User, related_name='sells', on_delete=models.CASCADE)
buyer = models.ForeignKey(User, related_name='purchased', on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)
我想按每个日期分隔的所有交易分组并找到其中一些。如果created_at
是类型,DateField
我可以通过这个查询简单地找到每天的计数:
Transaction.objects..values('created_at').annotate(count=Count('created_at_date')
Run Code Online (Sandbox Code Playgroud)
但这不起作用 DateTimeFeilds
。
我的问题是如何找到此模型类型每个日期的交易总数。