1

私はdjangoで関係を試しています

モデル

class File(models.Model):
    name = models.CharField(max_length=255)
    src = models.FileField(upload_to="files"

class UserBuyFile(models.Model):
    user = models.ForeignKey(User)
    files = models.ManyToManyField(File)

ビュー.py

def buy_file(request,id):
    f = File.objects.get(id=id)
    user_buy_file = UserBuyFile.objects.create(files=f,user=request.user)

このエラーがあります:

'files' は、この関数の無効なキーワード引数です

4

2 に答える 2

1

それはManyToManyFields がどのように入力されるかではありません。最初にモデルを作成して保存してから、フィールドでマネージャーを使用します。

于 2013-06-22T06:48:45.817 に答える
0

これを試して:

def buy_file(request,id):
    f = File.objects.get(id=id)
    user_buy_file, dummy_created = UserBuyFile.objects.get_or_create(user=request.user)
    user_buy_file.files.add(f)

modelunique=Trueのフィールドに設定することもお勧めします。userUserBuyFile

class UserBuyFile(models.Model):
    user = models.ForeignKey(User, unique=True)
    files = models.ManyToManyField(File)
于 2013-06-22T07:37:30.437 に答える