The output dlelete query seem to be ok, but I think the raprpesentation string of date is different from the database quoteliteral concatenation of the datetime field.
DELETE FROM "composite_basic_article" WHERE quote_literal("headline")||'#'||quote_literal("pub_date") IN (E'''Fourth article''#''2005-07-31 00:00:00''',E'''Default headline''#''2005-07-31 00:00:00''',E'''Article 7''#''2005-07-31 12:30:00''',E'''Article 6''#''2005-07-31 00:00:00''',E'''Area man programs in Python''#''2005-07-28 00:00:00''')
infact this don't delete the right articles