Reputation: 7330
I have a django view where users can sign up. For any user who signs up from this point forward, I would like to set the boolean value to True.
class Person(models.Model):
user = models.OneToOneField(User, primary_key=True)
facebook_id = models.CharField(max_length=225, unique=True, null=True, blank=True)
twitter_id = models.CharField(max_length=225, unique=True, null=True, blank=True)
suggested_person = models.BooleanField(default=False)
userPic = models.CharField(max_length=128, blank=True)
phoneNum = models.CharField(max_length=128, blank=True)
Sign-Up Django view:
@csrf_exempt
def signup(request):
if request.method == 'POST':
# Parse the JSON
data = json.loads(request.raw_post_data)
# Check if the user already exists
if User.objects.filter(username = data['username']).exists():
return HttpResponse("Username already exists")
# If not then create new user with the supplied info
else:
newUser = User()
newUser.username = data['username']
newUser.email = data['email']
newUser.set_password(data['password'])
newUser.first_name = data['firstName']
newUser.last_name = data['lastName']
newUser.save()
newPerson = Person(user = newUser, phoneNum = data['phoneNum'], userPic = data['userPic'], userCover = data['userCover'])
if 'token' in data:
if Person.objects.filter(token=data['token']).exists():
oldToken = Person.objects.get(token=data['token'])
oldToken.token = None
oldToken.save()
newPerson.token = data['token']
newPerson.save()
else:
newPerson.token = data['token']
newPerson.save()
#perhaps like this? newPerson.suggested_person =True
newPerson.save()
newUser.relationships.add(newUser)
return HttpResponse(str(newUser.id))
# If not POST
else:
return HttpResponse("Signup here People")
How can I go about making any user who signs up from this point forward a 'suggested_person'?
Upvotes: 1
Views: 3912
Reputation: 37364
If you can't or don't want to change the default definition on your model, you can either pass in your desired value when creating your Person instance:
newPerson = Person(user = newUser, phoneNum = data['phoneNum'], userPic = data['userPic'], userCover = data['userCover'], suggested_person=True)
Or you can set the attribute prior to saving:
newPerson.suggested_person = True
Upvotes: 3