Reputation: 1297
I have the following model:
class myModel(models.Model):
item_id = models.AutoField(primary_key=True)
amount = models.FloatField(default=0)
user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True, editable=False)
created = models.DateTimeField('Created', auto_now=True)
def save(self): # ALL the signature
super(myModel, self).save()
And from a view, i'm trying to save some data to my database:
model = myModel()
model.user = request.user
model.amount = amount
When i open my database, i only see one record. Every time i try to add a new record, that record is overwritten with a new one. Instead, there should be one record every time i add some data, of course. Can someone help me find what am i doing wrong, please?
Upvotes: 0
Views: 56
Reputation: 528
try this :
user = models.ForeignKey(User, on_delete=models.CASCADE, editable=False)
remove null and blank from the user field
Upvotes: 0
Reputation: 1394
For create record please use create()
as below...
new_obj = myModel.objects.create(user=request.user, amount=amount)
Upvotes: 2