如何解决如何使用 Django 更新对象并在特定时间创建一个对象?
我正在建立一个拍卖网站,我需要创建一个对象,在拍卖结束后向我们显示拍卖的获胜者! 我的模型.py
class Auction(models.Model):
product = models.ForeignKey(Product,on_delete=models.CASCADE)
start_time = models.DateTimeField(auto_Now_add=True)
updated_at = models.DateTimeField(auto_Now=True)
end_time = models.DateTimeField() #when times up Winner should be created Automatically
start_price = models.DecimalField(verbose_name="Original Price",max_digits=15,decimal_places=1,default=0.0)
current_price = models.DecimalField(verbose_name="Current Price",default=0.0)
next_price = models.DecimalField(verbose_name="Next Price",default=0.0)
step = models.DecimalField(verbose_name="Raise Price",default=0.0)
sold_price = models.DecimalField(verbose_name="Sold Price",blank=True,null=True)
is_active = models.BooleanField(default=True)
is_manual = models.BooleanField(default=True)
def __str__(self):
return self.product.title
class Bid(models.Model):
Types = (
('auto','Automatically'),('user','By user own')
)
auction = models.ForeignKey(Auction,on_delete=models.CASCADE)
user = models.ForeignKey(User,on_delete=models.CASCADE)
time = models.DateTimeField(auto_Now_add=True)
price = models.DecimalField(verbose_name="Bid Price",default=0.0)
action = models.CharField(max_length=120,default="user",choices=Types)
def __str__(self):
return str(self.price)
class Winner(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
auction = models.ForeignKey(Auction,on_delete=models.CASCADE)
won_price = models.DecimalField(verbose_name="Won Price",decimal_places=1)
won_time = models.DateTimeField()
def __str__(self):
return self.user.username
对于拍卖过程,我使用的是 Django Channels,这意味着如果拍卖页面有观众(当 WebSocket 开启时),我可以创建获胜者,否则我无法做到这一点!这就是为什么我必须在后端做
这是我的 docker-compose.yml
文件(已编辑):
version: '3'
services:
dbauction:
container_name: mysite
image: postgres:12.2
environment:
POSTGRES_DB: db_mysite
POSTGRES_USER: user
POSTGRES_PASSWORD: mysitepass
volumes:
- postgres_data:/var/lib/postgresql/mysite/
mysiteweb:
container_name: mysiteweb
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- dbauction
links:
- redis:redis
env_file:
- ./.env.dev
redis:
restart: always
image: redis:latest
ports:
- "6379:6379"
volumes:
- redisdata:/data
volumes:
postgres_data:
redisdata:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。