Как решить эту проблему в django? о subprocess.Popen и сессии

вот мой views.py

@csrf_exempt
def tictactoe_ai(request):
    context = {'current_url' : '/tictactoe'}
    if request.method == "GET":
        my_ai = Tic_ai.objects.create()
        request.session['tictai_id'] = str(my_ai.id)
        return render(request,'static_page/tictactoe_ai.html',context)
    if request.is_ajax():
        res = {}
        the_id = int(request.session['tictai_id'])
        my_ai = Tic_ai.objects.get(id = the_id)
        rest = request.POST
        x,y = rest.get("x"),rest.get("y")
        a = str(x) + ' ' + str(y) + '\n'
        message = my_ai.in_stuf(a)
        res["x"],res["y"] = message.split(" ")
        return JsonResponse(res)

вот мой models.py

class Tic_ai(models.Model):
ai = subprocess.Popen(
            r"D:\duoduo2\DDQK-Caesar\ddqk-caesar\static_page\tictac_ai.exe",
            stdout=subprocess.PIPE,
            stdin=subprocess.PIPE,
            stderr=subprocess.PIPE,
            close_fds=True)
def in_stuf(self,a):
    self.ai.stdin.write(a.encode())
    self.ai.stdin.flush()
    return self.ai.stdout.readline().decode().replace('\n','').replace('\r','')
def finish(self):
    self.ai.kill()

Я обнаружил, что хотя код "my_ai = Tic_ai.objects.create()" был вычислен. но ai все одинаковые. Я хочу иметь разные ai в разных Tic_ai. Но "ai" все одинаковые

пожалуйста. Эта неприятность беспокоила меня целый день

Вернуться на верх