django 尝试在crontab上设置数据库查询,但无法正常工作

dgtucam1  于 2022-12-14  发布在  Go
关注(0)|答案(1)|浏览(111)

Crontab在简单的任务上工作得很好

def test():
    test.objects.create.(name='Dino')

#It also works on this
def test_task()
    if Users_Machine.objects.filter().exists():
        test.objects.create(name='Dino')

但是当我试图用外键查询我的数据库时,它什么也不做。
已经尝试过这两种方法:

#request method
def test_task(request):
    if Users_Machine.objects.filter(user=request.user).exists():
        test.objects.create(name='Dino', user=request.user)

#direct methods
def test_task()
    if Users_Machine.objects.filter().exists():
        name=Users_Machine.objects.get()
        test.objects.create(name='Dino', user=name.username)

Users_Machine.对象返回True
这是我的模特

#users_machine model
class Users_Machine(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    Name = models.CharField(max_length=20)

#test model
class test(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    name  = models.CharField(max_length=100)

求你了我怎么才能让这一切成功?

n3schb8v

n3schb8v1#

如果我能看到User模型会更好,但现在我将假设在请求中,您正在传递UserMachine模型中存在的Name字段,并且您可以在test模型中创建新对象,如下所示:

def test_task(request):
    Current_user = User_Machine.objects.get(Name = request.name)  
    if Current_user:
        test.objects.create(name='Dino', user=Current_user)

你能不能也添加User模型,这将允许我微调答案(或纠正它,如果这一个是错误的)?

相关问题