2014-11-21 4 views
0

모델을 익명으로 만들어야합니다. 내 모델은 내가get 결과의 ID를 변경하는 방법. overrride get, filter and save

Laddu.save(owner=<owner with pk = 1>, url = "google.com") 

실제로

n = anonimusAlgo(1) 
Laddu.save(owner=<owner with pk = n>, url = "google.com") 

등 얻고

이 필터를 절약 할 수있는 방법으로는 익명으로 할 필요가

class Laddu(models.Model): 
    owner = models.ForeignKey(User) 
    url = models.TextField() 

입니다 모델을 익명으로 만드는 더 좋은 방법이 있습니까?

그래서 최종 결과는 데이터베이스에 해킹 된 사람이 있어도 올바른 데이터를 얻을 수없는 경우입니다.

+1

나는 당신이하고 싶은 것을 이해하고 있는지, 또는 왜하고 싶은지 잘 모르겠습니다. – IanAuld

+0

그래서 Laddu를 소유자에게 무작위로 저장하고 싶습니까? n을 somego로 생성하고 n이 소유자 테이블의 기본 키인 경우 Laddu를 해당 소유자 권한으로 저장 하시겠습니까? –

답변

0

내가 올바르게 이해한다면 Laddu 모델을 User 모델에 연결하는 방법을 찾고 있습니다.이를 통해 누군가가 두 테이블 모두에서 손을 댈 수 있을지 몰라도 어떤 Laddu 개체 어떤 User 객체와 관련이 있습니다.

이 대신 필드의 케이스 인 경우 :
소유자 = models.ForeignKey (사용자) 당신은 사용자 PK의 '암호화'버전이 될 것입니다 CharField을 가질 필요가

, 뭔가 같은

owner_pk = models.CharField() 

그런 다음 사용자가 액세스 할 때마다 다음을 수행해야합니다

user = User.objects.get(pk=decrypt(laddu_obj.owner_pk)) 

괜찮다 전자 정수 PK에 대한 무작위 키를 생성하는 방법에 대한 아이디어를 얻으려면이 대답을 참조하십시오. What is the best way to get a semi long unique id (non sequential) key for Database objects