2017-12-16 2 views
1

우선 나는 Python과 Django를 처음 사용한다고 언급해야합니다.Django 데이터베이스의 객체를 저장

나는 sqlite3 데이터베이스가있는 장고 프로젝트를 가지고 있습니다. 몇 가지 신체적 인 문제를 계산하기위한 몇 가지 수업을 만들었으며 양식을 사용하여 웹 사이트를 통해 이러한 결과에 액세스하려고합니다. 내 이전 접근 방식은 내 클래스를 함수로 변경하고 내 개체에 대한 여러 모델 필드를 만드는 것입니다.

그런 다음 내 기능의 출력이 내 모델에 저장하는 문제가있는 2D 배열이었습니다. 그래서 전체 객체를 데이터베이스에 저장하는 것이 더 쉬울 것이라는 결론을 내 렸습니다. 그런 다음 장고에서 클래스를 사용하기 위해 클래스를 함수로 변경하지 않아도됩니다.

아래 양식및 b의 입력에 대한 입력을 사용하고 있습니다. 모델에 개체를 저장할 수 있습니까? 필자는 hypothetic 예제를 만들었지 만 코드가 작동하는지 확실하지는 않지만 요점을 얻길 바랍니다. 당신의 어떤 제안에 대한이 있습니까,

if form_input.is_valid(): 
    instance = form_input.save(commit=False) 
    instance.results = Compute(instance.a,instance.b) 
    instance.save() 

수없는 경우 :

class Butterfly_model(models.Model): 
    a = models.FloatField(verbose_name='a') 
    b = models.FloatField(verbose_name='b') 
    results = >>>Some_Object_Field<<< 

내 계산 스크립트는 다음과 같이 포함 할 수있다 :

class Compute: 
    def __init__(self, a, b): 
     self.X=[] 
     self.Y=[] 
     for i in range(0,a): 
      self.X.append(i) 
      self.Y.append(i+b) 

을 그리고 내 view.py 다음 포함 계산 및 결과 데이터를 어떻게 처리합니까? 당신은 아마 뭘 찾는거야

안부,

요아킴

+0

원하는 것을 claryfy 할 수 있습니까? 모델에'a'와'b'에 의존하는'X'와'Y' 필드를 갖고 싶습니까? – niklas

+0

Compute에서 Butterfly_models a 및 b를 사용하여 개체를 만들고 가능한 경우 Butterfly_model의 개체 필드 <<<에 해당 개체를 저장하려고합니다. –

답변

0

model properties이다. 귀하의 필요를 예상하여 나는 다음을 찾고 있다고 생각합니다 :

기능을 계산하는 모델에 특성을 추가 할 수 있습니다. 귀하의 경우를 들어이 좋아 STH 다음과 같습니다 (? 그게 당신이 원하는 경우)

class Butterfly_model(models.Model): 
    a = models.FloatField(verbose_name='a') 
    b = models.FloatField(verbose_name='b') 

    @property 
    def X(self): 
     return [i for i in range(0,self.a)] 

    @property 
    def Y(self): 
     return [i+b for i in range(0,self.a)] 

각 모델 인스턴스에 대한 XY에 액세스 할 수 있으며 데이터베이스에 저장하지 않아도 그 방법을.

+0

저는 실제로 그 아이디어가 마음에 듭니다. 구현은 매력처럼 작동합니다. 그러나 계산에 많은 반복이 필요한 경우이 솔루션은 컴퓨팅 시간으로 인해 적합하지 않다고 생각합니다. –

관련 문제